【发布时间】:2018-11-15 04:58:59
【问题描述】:
我正在标准网页和 Tomcat v7.0.62 服务器之间设置 WebSocket。在 Firefox、Edge 和 IE11 上打开/关闭 Tomcat SSL 时,连接工作正常。但是,在 Chrome (v66.03) 中,只有当我在服务器上打开 SSL 并通过 https 连接时,websocket 才会连接。在 Chrome 中,当我在服务器上关闭 SSL 并尝试通过 http 连接时,它会引发错误。
这是 Chrome 在 Tomcat 上关闭 SSL 的情况下尝试通过 http 连接时抛出的错误...
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 连接上使用特殊代码吗?
【问题讨论】:
-
能否请你把你的服务器配置和代码,也把完整的客户端代码?
-
旁注:考虑
ver wss = "ws" + document.location.protocol.slice(4);