因此 Safari 退回到 xhr-polling,因为安全 websocket 连接失败并出现错误“OSStatus error -9843”
我正在使用 Node 0.10.7、socket.io 0.9.14、Safari 6.0.4 Mac。我的 SSL 证书是自签名的本地证书。
这在所有其他浏览器中都可以正常工作,并且也可以与旧版本的 Safari 一起使用。
任何想法建议如何解决这个问题?
提前致谢
回答我自己的问题:)
所以这是一个 SSL 错误,证书指向错误的子域。奇怪的是 HTTPS / SPDY 仍然有效,只有 websockets 失败。
使用 OpenSSL 重新生成证书后,一切都很好。
顺便说一句 9843 表示对等主机名不匹配。刚刚注意到这一点,因为我无法在 Google 中找到太多资源。
可以在此处找到 SSL 错误代码列表(检查枚举):
http://www.opensource.apple.com/source/libsecurity_ssl/libsecurity_ssl-36800/lib/SecureTransport.h