0

我开发了一个 node js 应用程序,只要使用 http 就可以正常工作。现在我需要升级代码也能够工作 ssl 并且我在加载 socket.io-client/socket.io.js 文件时遇到问题。(其余的工作正常。我安装了证书并且服务器运行良好)

Firefox 失败并显示以下消息:阻止加载混合活动内容“http://”url“/socket.io/?EIO=3&transport=polling&t=NX-uS5E”。这很奇怪,因为链接声明了一个 http 请求。

Chrome 失败并显示此消息:socket.io.js:3511 Mixed Content: The page at 'https://"url"?' 已通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点 'http://"url"/socket.io/?EIO=3&transport=polling&t=NX-s_OB'。此请求已被阻止;内容必须通过 HTTPS 提供。

似乎 socket.io-client 正在尝试使用 http 而不是 https 加载资源。那可能吗?我该如何纠正?任何想法?

我现在已经在网上搜索了两天,但没有任何迹象表明其他人有这个问题

4

1 回答 1

0

好的,晚上休息并好好休息后,我再次检查了我的整个代码,发现了错误!

我有一个混淆的代码行,我使用的是 http 请求而不是 https 请求。我必须在服务器端和客户端都纠正这个问题。

我还必须在每个调用中包含端口号,并通过添加选项“transport: ['polling']”强制客户端的套接字使用轮询而不是 websockets

于 2021-03-30T09:56:45.707 回答