Bra*_*ght 9 javascript safari ssl websocket
做new WebSocket('ws://server/');Safari连接时很好,但是当new WebSocket('wss://server/');它完全失败时(返回一个null对象).更糟糕的是,它无声地失败 - 在回溯(自定义Eventlet Web服务器)或Safari中的错误控制台中没有错误.
Chrome可与安全主机和非安全主机配合使用.
我该如何调试或修复此问题?谷歌信息非常缺乏.
这是从运行OpenSSL代替WebSockets服务器并查看会发生什么的一些追溯.首先,这是Chrome的(可以正常工作)调试输出:
Using default temp DH parameters
Using default temp ECDH parameters
ACCEPT
SSL_accept:before/accept initialization
SSL_accept:SSLv3 read client hello A
SSL_accept:SSLv3 write server hello A
SSL_accept:SSLv3 write certificate A
SSL_accept:SSLv3 write key exchange A
SSL_accept:SSLv3 write server done A
SSL_accept:SSLv3 flush data
SSL_accept:SSLv3 read client key exchange A
SSL_accept:SSLv3 read finished A
SSL_accept:unknown state
SSL_accept:SSLv3 write change cipher spec A
SSL_accept:SSLv3 write finished A
SSL_accept:SSLv3 flush data
-----BEGIN SSL SESSION PARAMETERS-----
GIBBERISH HERE
-----END SSL SESSION PARAMETERS-----
Shared ciphers:CIPHERS_HERE
CIPHER is REDACTED
Secure Renegotiation IS supported
GET / HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: live.redacted.com:8443
Origin: http://redacted.com
Sec-WebSocket-Key1: 1 [ B l wA 3 e60 d9[ n0!>8384
Sec-WebSocket-Key2: 2 5 1 7p 17 64 3 9
Cookie: __key=value
Run Code Online (Sandbox Code Playgroud)
这是Safari的(不起作用):
ACCEPT
SSL_accept:before/accept initialization
SSL_accept:SSLv3 read client hello A
SSL_accept:SSLv3 write server hello A
SSL_accept:SSLv3 write certificate A
SSL_accept:SSLv3 write server done A
SSL_accept:SSLv3 flush data
SSL_accept:failed in SSLv3 read client certificate A
ERROR
shutting down SSL
CONNECTION CLOSED
Run Code Online (Sandbox Code Playgroud)
所以我认为Safari的证书存在问题 - 但是在使用常规HTTP时它没有显示出来.
| 归档时间: |
|
| 查看次数: |
7992 次 |
| 最近记录: |