Answers:
WebSocket连接通过HTTP或HTTPS握手开始其寿命。通过HTTP访问页面时,可以使用WS或WSS(WebSocket安全:WS over TLS)。但是,通过HTTPS加载页面时,只能使用WSS-浏览器不允许“降级”安全性。
您不能在HTTPS上使用WebSockets,但可以在TLS上使用WebSockets(HTTPS是TLS上的HTTP)。只需在URI中使用“ wss://”即可。
我相信Firefox的最新版本不会允许您从HTTPS页面使用非TLS WebSocket,但是相反应该不是问题。
wss://
到的请求解决了这个问题ws://
。因此,我使用wss://ws.domain.com
apache并在其上应用代理,并在运行WS服务器的地方重定向请求。例如:ws://10.12.23.45:5641/server.php
。我知道这是一个非常糟糕的解决方案-尽管它对我有用。如果您指导我完成apache配置,我们将不胜感激。例如:放在哪里.cert
等等。谢谢!
其他1个警告(除了kanaka / peter的回答):如果您使用WSS,并且浏览器不接受服务器证书,则可能无法获得任何浏览器呈现的对话框(就像在Web页面上那样)。这是因为WebSockets被视为所谓的“子资源”,并且证书接受/安全例外/任何未为子资源呈现的对话框。
alert()
吗?