带SSL的html5 Websocket
是否有可能有HTTPS的WebSockets? 当切换到https,我的WebSocket返回一个安全错误,并与普通的http完美的作品…
socket = new WebSocket("ws://my_www:1235");
谢谢
WebSocket连接始于HTTP或HTTPS握手。 当通过HTTP访问页面时,可以使用WS或WSS(WebSocket安全:WS over TLS)。 但是,当您的页面通过HTTPS加载时,您只能使用WSS – 浏览器不允许“降级”安全性。
您不能通过HTTPS使用WebSockets,但可以通过TLS使用WebSockets(HTTPS是基于TLS的HTTP)。 只需在URI中使用“wss://”。
我相信Firefox的最新版本不会让你从HTTPS页面使用非TLS WebSockets,但反过来不应该是一个问题。
另外需要注意的是(除了kanaka / peter的回答外):如果你使用WSS,并且服务器证书是浏览器不可接受的,那么你可能得不到任何浏览器呈现的对话框 (就像网页发生的那样)。 这是因为WebSocket被视为所谓的“子资源”,并且证书接受/安全exception/不pipe对于子资源都不呈现的对话框。