C'è un modo per passare l'identità del client a Nginx (per ottenere una sessione appiccicosa) quando si usano WebSockets? Qualcosa di simile all'intestazione "X-Forwarded-For" per HTTP?Nginx: qual è l'alternativa X-Forwarded-For per WebSockets?
risposta
Websocket iniziano la loro vita sotto un handshake di aggiornamento HTTP. Una volta completata l'handshake, si ottiene una connessione web-socket bidirezionale funzionante a lungo.
Se si utilizza Nginx come proxy per websocket, è possibile utilizzare anche "X-Forwarded-For" ma solo sull'handshake. Si veda ad esempio this simple configuration:
# WebSocket Proxy
#
# Simple forwarding of unencrypted HTTP and WebSocket to a different host
# (you can even use a different host instead of localhost:8080)
server {
listen 80;
# host name to respond to
server_name ws.example.com;
location/{
# switch off logging
access_log off;
# redirect all HTTP traffic to localhost:8080
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support (nginx 1.4)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
... e alcuni riferimenti su this page.
si configurano quello che Nginx deve inviare insieme alla richiesta di aggiornamento (le informazioni che utilizza per identificare il client) e sarà compito del server back-end di utilizzare le informazioni dalla stretta di mano per identificare il cliente e quindi associare il collegamento websocket al tuo cliente In base a tale associazione, tutti i messaggi che arrivano sulla connessione WebSocket appartengono al client precedentemente identificato.
- 1. Configurazioni Thin + Nginx + Websockets | Rotaie
- 2. Qual è il vantaggio dell'utilizzo di NginX per Node.js?
- 3. Nginx TCP (WebSockets) Timeout/Keepalive Config
- 4. Nginx config per WSS
- 5. Qual è la differenza fondamentale tra WebSockets e TCP puro?
- 6. Longpolling vs Websockets
- 7. Qual è la differenza tra WebRTC e WebSockets per la comunicazione dati a basso livello
- 8. Qual è la differenza tra apache/nginx/IIS
- 9. Supporto per Websockets su Android
- 10. WebSockets su beanbag elastico con finestra mobile
- 11. Qual è la differenza tra $ host e $ http_host in Nginx
- 12. In Swagger, è possibile creare API per Websockets?
- 13. Node.js WebSockets Socket.IO
- 14. Prestazioni WebSockets
- 15. WebSockets: utile per ridurre i costi generali?
- 16. È possibile utilizzare ReST su Websockets?
- 17. Firefox WebSockets
- 18. Autenticazione WebSockets
- 19. AngularJS e WebSockets oltre
- 20. Spring Websockets Max. Connessioni simultanee
- 21. Differenza tra MessageChannel e WebSockets?
- 22. Limitazione della velocità di rete per WebSockets
- 23. Quale modulo per Nginx è il migliore per HTTP PUSH?
- 24. Overhead of Idle WebSockets
- 25. nginx come proxy per NodeJS + socket.io: tutto è OK tranne che per i grandi messaggi
- 26. Esercitazione WebSockets su ASP.NET
- 27. RhinoJS supporta l'API websockets?
- 28. Apache proxyPassReverse e Websockets
- 29. JBoss supporta Websockets?
- 30. mod_evasive per nginx?