httpsでWebSocketを使用することはできますか? httpsに切り替えるときに、私のWebSocketは、セキュリティエラーを返し、通常のhttpで完璧に動作...html5 Websocket with SSL
socket = new WebSocket("ws://my_www:1235");
はあなたがHTTPS経由でのWebSocketを使用することはできませんが、あなたは(TLS上でのWebSocketを使用することができますあなたの
httpsでWebSocketを使用することはできますか? httpsに切り替えるときに、私のWebSocketは、セキュリティエラーを返し、通常のhttpで完璧に動作...html5 Websocket with SSL
socket = new WebSocket("ws://my_www:1235");
はあなたがHTTPS経由でのWebSocketを使用することはできませんが、あなたは(TLS上でのWebSocketを使用することができますあなたの
WebSocketの接続は、HTTPまたはHTTPSハンドシェイクで終了します。 HTTP経由でページにアクセスするときは、WSまたはWSS(WebSocket secure:WS over TLS)を使用できます。しかし、あなたのページがHTTPS経由でロードされている場合は、WSSのみを使用できます。ブラウザはセキュリティを「ダウングレード」できません。
ありがとうございましたHTTPSはTLS上のHTTPです)。 URIで "wss://"を使用するだけです。
Firefoxの最近のバージョンでは、HTTPSページから非TLS WebSocketを使用することはできませんが、その逆は問題ではないはずです。
だから、何が解決策ですか?私はHTTP上で動作しているWSサーバーを持っていました.SSLとブラウザを購入しても、WSに接続することはできません。私はWSをWSS://にしました.WebSocketに接続していません – muaaz
@muaaz WebSocketサーバーはWSSモードで動作していて、試している元のWebページを提供しているWebサーバーと同じSSL証明書/キーがロードされている必要がありますwebsocketサーバーに接続します。 – kanaka
ありがとうございます。 btw、私はちょうど 'wss://'から 'ws://'へのリクエストを(Apacheを使って)Proxyingで解決しました。だから、私は 'wss:// ws.domain.com'を使い、その上でプロキシを適用し、WSサーバが稼働している場所にリクエストをリダイレクトします。例: 'ws://10.12.23.45:5641/server.php'。私は非常に悪い解決策を知っています - しかし、それは私のために働く。私はあなたがApacheの設定を通して私を導くなら、あなたの助けに感謝します。例: '.cert'などを置く場所 – muaaz
その他の注意点(kanaka/peterの回答に加えて):WSSを使用していて、サーバー証明書がブラウザに受け入れられない場合、ブラウザでダイアログを表示しない可能性があります。 )。これは、WebSocketsがいわゆる "サブリソース"として扱われ、証明書の受け入れ/セキュリティ例外/サブリソース用にレンダリングされないダイアログがあるためです。
私の使用しているAIRソケットサーバーが安全でないことがわかりました。私はflash.net.SecureSocketを使用するように書き直す必要があります... – Eric