2016-10-25 2 views
4

J'utilise Nginx + flask-socketio + aws elb et quand l'URL est chargée sur https, je reçois le message d'erreur suivant qui est quelque chose lié à la Nginx et la prise, s'il vous plaît aider à ce sujet,Contenu mélangé: page à https a été chargé sur https, mais a demandé un non sécurisé

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. 

Répondre

2

Jetez un coup d'oeil dans votre fichier .js, assurez-vous que vous utilisez la bonne URL ajax (//your_site.com/handler, au lieu de http://your_site.com/handler), par exemple:

$.ajax({ 
url:'//your_site.com/handler',dataType:'json',type:'get', 
success: function(data){...}, 
complete:function(xhr, textStatus){...} 
}); 
+2

en fait j'ai oublié que dans mon fichier js, tout le temps que je touchais le bush. Maintenant, je suis en train d'obtenir "connexion WebSocket à 'ws: //example.com/socket.io/1/websocket/654646646' a échoué: Erreur lors de la prise de contact WebSocket: code de réponse inattendue: 500" – IAmHomes

+1

Peut-être ces liens peuvent vous aider: [Lien 1] (https://github.com/websocket-rails/websocket-rails/issues/378#issuecomment-170352798) [Lien 2] (https://github.com/websocket-rails/websocket -rails/issues/211 # issuecomment-57744925) –

1

Le contenu mixte est une politique de sécurité employée par les navigateurs actuels, et son but est d'éviter que les informations fuites soient transférées sur des HTTPS "sécurisés" vers des contextes non sécurisés. Par conséquent, un site servi avec HTTPS doit utiliser HTTPS ou d'autres protocoles compatibles TLS pour récupérer du contenu. Le préfixe URI pour les Websockets sur TLS est wss et pour les Websockets normalisées ws. Au moins Chromium et Firefox considèrent https + ws contenu mixte, et nient un tel paramètre - par conséquent wss doit être utilisé comme le préfixe URI dans les contextes sécurisé/HTTPS au lieu de ws.