Ne peut pas établie Websocket connexion sécurisée sur Firefox
Je suis coincé avec Firefox. Je ne pouvais pas faire Websocket travail sur elle. J'utilise Tornade Websocket et j'ai initialisé par le code ci-dessous:
app = Application([(r'/mypath/ws', WSHandler)])
http_server = HTTPServer(app, ssl_options={
"certfile": "~/certs/websocket.crt",
"keyfile": "~/certs/websocket.key"
})
http_server.listen("443")
Et j'ai initialisé sur Javascript côté comme ceci:
var WS = new WebSocket("wss://websocket.localhost/mypath/ws");
Ce code fonctionne très bien sur Chrome, en attendant j'ai créé le cert par moi-même et de l'exécution de la page sous le protocole HTTPS. Mais Firefox n'arrête pas de dire que:
Firefox can't establish a connection to the server at wss://websocket.localhost/mypath/ws.
Je google et trouvé trop de pensées, mais aucun des em a fonctionné pour moi 🙁
Toute aide sera appréciée.
vous avez créé le cert-vous... avez-vous l'ajouter à votre navigateur de la liste de certificats de confiance?
Je ne devrais pas ajouter mon propre certificat manuellement le navigateur, car mes clients ne le ferai pas. J'ai trouver une solution permanente.
FatihKaratana Essayer ce konghou dit, si cela fonctionne, alors vous pourriez avoir à acheter un certificat à partir d'un émetteur de confiance.
Je ne devrais pas ajouter mon propre certificat manuellement le navigateur, car mes clients ne le ferai pas. J'ai trouver une solution permanente.
FatihKaratana Essayer ce konghou dit, si cela fonctionne, alors vous pourriez avoir à acheter un certificat à partir d'un émetteur de confiance.
OriginalL'auteur Fatih Karatana | 2014-05-21
Vous devez vous connecter pour publier un commentaire.
Si c'est un certificat auto-signé, navigateurs ne pas afficher la boîte de dialogue d'accepter le certificat, s'il n'est utilisé que dans un websocket. Vous devez d'abord visiter une page normale sur le même serveur afin de voir et d'accepter l'avertissement de certificat, puis vous pouvez créer sécurisé websocket.
OriginalL'auteur Ben Darnell
J'ai résolu mon problème par le biais de la directive ProxyPass. J'ai créé un non-sécurisé serveur Websocket avec Tornade et l'exécuter sur un port spécifique comme 3232:
Puis j'ai écrit les directives proxypass dans ma conf Apache et l'utilisation mod_proxy_wstunnel:
Et je créer Websocket client sur l'interface comme ceci:
Dans ce cas, je peux créer une connexion sur une connexion sécurisée en https, et mon port est de 81 et mon proxypass de rediriger tout Websocket demande localement écouté port 3232. Ce n'est pas une solution exacte pour la plupart comme une solution de contournement. Mais il fonctionne très bien pour moi.
OriginalL'auteur Fatih Karatana
Essayez d'ouvrir cette url https://websocket.localhost/mypath/ws dans firefox et accepter le certificat.
OriginalL'auteur l0pan
J'ai résolu ce problème en ajoutant un certificat d'exception dans Firefox préférences avancées.
OriginalL'auteur francadaval
Je tirait mes cheveux sur celui-ci pendant un certain temps. J'ai été faire toutes sortes de cryptic messages d'erreur en fonction de différents navigateurs web, tout cela a fait sonner comme il avait quelque chose à propos de certificat d'exceptions. J'avais déjà fait des exceptions dans Firefox et Chrome,
Il s'est avéré que j'avais une faute de frappe dans mon sous-chaîne de protocole dans mon Javascript!
La correction de la sous-chaîne de protocole fait tout mieux.
Plus d'informations sur les WebSockets et d'utiliser des sous-protocole(s): https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
OriginalL'auteur Tarocco