我发现一些移动网络提供商本机不支持端口80,但他们确实支持端口443,我觉得这有点奇怪。无论如何,对于这一点,我们无能为力,这导致我从端口80切换到端口433,使用wss://
而使用ws://
。
我想知道使用wss://
是否有任何负面影响?问题是我还没有SSL证书。
唯一真正的"负面"影响可能是对发送的内容进行加密/解密所需的CPU利用率略有增加。其中一些可以通过选择较弱(re:faster)的密码来抵消,或者在极端情况下,使用基于SSL硬件的卸载。由于TLS密钥交换,在建立连接时也只增加了一点延迟(当然类似于使用HTTPS)。但是因为密钥交换握手只需要在连接上进行一次,所以总体来说成本并不大。
正如您所指出的,您还需要获得适当的SSL证书,因此这将增加管理成本(如果您获得认可的证书颁发机构的签名,则以$$为单位,并且需要一点时间将其加载到某个密钥库中)。
同意phil(@leggetter)的观点,大多数移动提供商都在使用缓存代理来加快对端口80请求的响应(假设是http内容流过它),而且它经常会干扰WS的原始http响应握手。当你使用加密时,代理无论如何都无法解析/解密内容,所以他们让它通过。这就是为什么端口443通常在端口80不工作的地方工作。您也可以尝试在80以外的端口上使用WS连接,但前提是您的用户不在防火墙后面。移动网络并不经常缓存/干扰备用端口。