4

私はNginx +フラスコソケティオ+ aws elbを使用しています.URLがhttpsにロードされると、Nginxとソケットに関連する次のエラーメッセージが表示されます.これについて助けてください.

socket.io.min.js:2 Mixed Content: The page at 'https://localhost/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://localhost/socket.io/1/?t=1477375737508'. This request has been blocked; the content must be served over HTTPS.d.handshake @ socket.io.min.js:2
socket.io.min.js:2 XMLHttpRequest cannot load http://localhost/socket.io/1/?t=1477375737508. Failed to start loading.
4

2 に答える 2

3

ファイルを調べて.js、正しい ajax URL (//your_site.com/handlerではなくhttp://your_site.com/handler) を使用していることを確認します。たとえば、次のようになります。

$.ajax({
url:'//your_site.com/handler',dataType:'json',type:'get',
success: function(data){...},
complete:function(xhr, textStatus){...}
});
于 2016-10-25T16:23:40.383 に答える
0

混合コンテンツは、現在のブラウザで採用されているセキュリティ ポリシーであり、その目標は、「安全な」HTTPS 経由でフェッチされた情報が安全でないコンテキストに漏洩するのを防ぐことです。したがって、HTTPS で提供されるサイトは、HTTPS またはその他の TLS 対応プロトコルを使用してコンテンツを取得する必要があります。

TLS を介した Websockets の URI プレフィックスはwssであり、プレーン Websockets の場合はwsです。少なくともChromiumFirefoxhttpsは+混合コンテンツを考慮wsし、そのような設定を拒否しwssますws

于 2017-01-10T13:32:25.623 に答える