gpt4 book ai didi

ssl - 没有 SSL 的 Chrome 上的 WebSocket 连接失败

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:32 28 4
gpt4 key购买 nike

我正在标准网页和 Tomcat v7.0.62 服务器之间设置 WebSocket。在 Firefox、Edge 和 IE11 上打开/关闭 Tomcat SSL 时,连接工作正常。但是,在 Chrome (v66.03) 中,只有当我在服务器上打开 SSL 并通过 https 连接时,websocket 才会连接。在 Chrome 中,当我在服务器上关闭 SSL 并尝试通过 http 连接时,它会抛出错误。

这是在 Tomcat 上关闭 SSL 的情况下尝试通过 http 连接时 Chrome 抛出的错误...

Error in connection establishment: net::ERR_PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION

这是我在客户端的 WebSocket 连接代码...

var wss = "wss://";
if (document.location.protocol === "http:") {
wss = "ws://";
}
var wsURL = wss + document.location.host + "/status?sessionId=<%=session.getId()%>";

这是 Chrome 特有的东西,需要在非 https websocket 连接上使用特殊代码吗?

最佳答案

这是 Chrome 特定的行为。 Chrome 不允许不安全的 websocket (ws) 连接到本地主机(仅 wss,因此您应该为本地 web/websocket 服务器设置 TLS 证书)。但在 Firefox 和其他浏览器中同样应该可以正常工作。

有关此问题,请参阅有关 Chromium 的 Chrome 错误报告。这个特殊问题是有意为之的,他们做出这个改变是为了通过防止对监听本地主机的内部网络设备和进程的攻击,Chrome 更加安全。

https://bugs.chromium.org/p/chromium/issues/detail?id=378566

关于ssl - 没有 SSL 的 Chrome 上的 WebSocket 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50704614/

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