混合内容:https上的页面通过https加载,但请求不安全

我正在使用Nginx + flask-socketio + aws elb,并且在https上加载URL时,我收到以下与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. 

看看你的.js文件,确保你正在使用正确的ajax URL( //your_site.com/handler你的网站/处理//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){...} }); 

混合内容是当前浏览器采用的安全策略,其目标是防止通过“安全”HTTPS获取的信息泄漏到非安全上下文。 因此,使用HTTPS的站点必须使用HTTPS或其他支持TLS的协议来获取内容。

TLS上的Websockets的URI前缀是wss ,而对于普通的Websockets ws 。 至少Chromium和Firefox会考虑https + ws混合内容,并且拒绝这样的设置 – 因此wss应该用作安全/ HTTPS上下文中的URI前缀而不是ws