gpt4 book ai didi

node.js - 通过letscrypt设置https后Nodejs聊天程序 'io is not defined'错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:30 24 4
gpt4 key购买 nike

我在我的网站上设置了一个nodejs聊天程序。

然后,当我使用 LetsEncrypt 将网站从 http 移动到 https 时,聊天程序停止工作。

这是服务器和客户端:
https://synodins.com/apps/chat/server.js
https://synodins.com/apps/chat/client.html
并直接读取客户端脚本:
https://synodins.com/apps/chat/client.txt

问题是,正如您在检查元素时在客户端中看到的那样,我收到错误:
ReferenceError:io未定义

我已经搜索过这个错误并发现:
socket.io - ReferenceError: io is not defined
但我已经按照他在答案中建议的方式做事了。

我不太确定问题是什么,尽管我怀疑客户端中加载的 socket.io 模块有问题。

有趣的是,我可以毫无问题地在本地主机上运行聊天,但是当我尝试在服务器上运行它时,我收到此错误。

谁能看出问题出在哪里吗?

最佳答案

所以我查看了该页面,发现了 2 个问题:

混合内容存在问题。当使用“https”加载页面时,您无法使用“http”加载文件。这是一个安全问题。

其次,我注意到 JS 文件的链接是 http://127.0.0.1/...,它当前指向您的本地主机。

查看上面的注释,看起来您曾经将其指向其他地方,但我建议更改标记以指向相同的源文件,但在 src 开头使用 https://...

这是我在访问您的网站时遇到的错误:

Mixed Content: The page at 'https://synodins.com/apps/chat/client.html'
was loaded over HTTPS, but requested an insecure script
'http://127.0.0.1:8002/socket.io/socket.io.js'. This request has been
blocked; the content must be served over HTTPS.

之后,请告诉我,我会进一步调查。

编辑:

如果可以使用相对 URL,则始终首选它。请查看与您的问题相关的答案:https://stackoverflow.com/a/29835657/672229

关于node.js - 通过letscrypt设置https后Nodejs聊天程序 'io is not defined'错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37657442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com