J'expérimente ActionCable (en répliquant principalement le DHH example) et en essayant de l'exécuter sur un serveur Ubuntu avec thin (sur le port 8443) et nginx. Tout fonctionne très bien localement, mais quand j'essaie de le faire sur un serveur en direct, j'obtiens cette réponse d'erreur: failed: Error during WebSocket handshake: Unexpected response code: 301
.Configuration de nginx en proxy thin et Rails ActionCable
Voilà mes bits pertinents de ma configuration nginx:
server {
listen 80;
server_name _not_;
root /home/ubuntu/www/;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream websocket {
server 127.0.0.1:8443;
}
server {
listen 80;
...
location /websocket/ {
proxy_pass http://127.0.0.1:8443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_redirect off;
}
...
}
Je suis un peu hors de ma ligue avec nginx ici - ce que je manque ou faire mal?
Est-ce que cela se produise dans 60sec? – Anatoly
@Anatoly Ouvre-t-il/ferme-t-il en 60 secondes? Il ne se connecte pas du tout à la WebSocket. – Michael
Je ne suis pas sûr, bu je ne pense pas que votre serveur websockets devrait écouter 80. Il docs NGINX, il écoute 8020. https://www.nginx.com/blog/websocket-nginx/ –