Ciao Sto cercando di servire una semplice chat usando ror 5.0.0 beta (con puma) lavorando sulla modalità di produzione (in localhost non ci sono problemi) .RoR 5.0.0 ActionCable wss Handshake WebSocket: codice di risposta inatteso: 301
Questo è il mio Nginx configurazione:
upstream websocket {
server 127.0.0.1:28080;
}
server {
listen 443;
server_name mydomain;
ssl_certificate ***/server.crt;
ssl_certificate_key ***/server.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers
HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/jenkins.access.log;
location/{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:3000;
proxy_read_timeout 90;
proxy_redirect http://localhost:3000 https://mydomain;
location /cable/{
proxy_pass http://websocket/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
break;
}
}
Questo è config/Redis/cable.yml
produzione: url: Redis: // localhost: 6379/1
sviluppo: url: redis: // localhost: 6379/2
prova: url: Redis: // localhost: 6379/3
e config/ambienti/production.rb
# Action Cable endpoint configuration
config.action_cable.url = 'wss://mydomain/cable'
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = false
E questo è l'errore che sto ricevendo:
application - [...]. Js: 27 Connessione WebSocket a "wss: // mydomain/cable" non riuscita: errore durante l'handshake WebSocket: codice di risposta inatteso: 301
Qualche consiglio? :) Grazie
che cambiano posizione/via cavo/{...} per me tornare/cavo "di connessione WebSocket a ' wss: // mydomain/cable 'fallito: errore durante l'handshake WebSocket: codice di risposta inatteso: 502 " –
Bad gateway: assicurati di avere il servizio in esecuzione sulla porta 28080 –
Il firewall stava bloccando quella porta, ora ho cambiato redis su 4443 e "upstream websocket" {127.0.0.1:4443} -> Errore durante l'handshake WebSocket: codice di risposta imprevisto: 404 Almeno il mio codice di errore sta cambiando xd –