質問

Safariが罰金を接続new WebSocket('ws://server/');を行う場合、それは完全に失敗new WebSocket('wss://server/');を使用するときは、(nullオブジェクトを返します)。さらに悪いことに、それは静かに失敗した - 。トレースバック(カスタムEventlet Webサーバー)やサファリ内のエラーコンソールにエラー

Chromeは安全かつ非セキュアホストの両方で正常に動作します。

どのように私は、デバッグまたはこれを修正については行くでしょうか? Googleは情報に非常に短います。

ここでのWebSocketサーバーの代わりにOpenSSLを実行すると何が起こるか見てから、いくつかのトレースバックがあります。

:まず、ここでは(仕事をする)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

と、ここでの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
私は思うのでSafariは通常のHTTPを使用しているとき、それは明らかにしない私達の証明 - が、1つの問題を持っています。

役に立ちましたか?

解決

がSysadminあい修正を明らかにした:デフォルトでSSLv3に設定OpenSSLはサファリを殺すが、それは、独自のSSLバージョン(all)を選択させることは罰金を動作します。

他のヒント

私はこれを見てきました。

は、それが証明書(有効期限が切れ、間違ったドメインなど)で何かを間違っがあることを意味します。すなわちhttps://wss_server:wss_port/、サファリからWebSocketをサーバーに直接接続してみてください。 Safariはあなたにそのようにより良いエラーメッセージを与える必要があります。

noVNCする(HTML5 VNCクライアント)の一部としてwsproxyを開発しながら、私はこの問題を持っていた場合は、

それが判明しました私は、サーバー用のIPを使用していましたが、証明書は、ホスト名のために署名されました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top