Czy istnieje sposób przekazywania tożsamości klienta do Nginx (aby uzyskać lepszą sesję) podczas korzystania z WebSockets? Coś podobnego do nagłówka "X-Forwarded-For" dla HTTP?Nginx: Co to jest X-Forwarded-For alternatywa dla WebSockets?
Odpowiedz
Websockets rozpoczynają swoje życie od uzgadniania uaktualnień HTTP. Po pomyślnym zakończeniu uzgadniania otrzymasz długo działające połączenie dwukierunkowe websocket.
Jeśli używasz Nginx jako serwera proxy dla websockets, możesz również użyć "X-Forwarded-For", ale tylko na handshake. Patrz na przykład 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";
}
}
... a niektóre odniesienia na this page.
Skonfigurujesz to, co Nginx powinien wysyłać wraz z zapytaniem o aktualizację (informacje, których używasz do identyfikacji klienta) i będzie to zadanie serwera zaplecza, aby użyć informacji z uzgadniania w celu zidentyfikowania klienta, a następnie powiązania połączenia internetowego do twojego klienta. Na podstawie tego powiązania każda wiadomość przychodząca z tego połączenia websocket należy do wcześniej zidentyfikowanego klienta.
- 1. Alternatywa dla WebSockets
- 2. Co to jest alternatywa dla Singleton
- 3. Co to jest alternatywa dla metody Przestarzała Hamcrest to()?
- 4. Co to jest alternatywa funkcji create_proc_entry()
- 5. Co to jest alternatywa glassfish do kontekstu.xml
- 6. Co to jest alternatywa dla -dpkg na Maca?
- 7. WebSockets lub alternatywa z phonegap?
- 8. Nginx TCP (WebSockets) Timeout/Keepalive Config
- 9. Co to jest move_iterator dla
- 10. Co to jest alternatywa textarea w reaktywnym natywnym?
- 11. Co to jest dobra otwarta alternatywa dla Kannela dla bramki SMS?
- 12. Co to jest alternatywa dla Task.FromResult <T>() dla zadań reprezentujących operacje zwracające nieważne
- 13. Co to jest synchroniczna alternatywa dla metody HttpClient.getStringAsync() w języku C#?
- 14. Co to jest alternatywa dla przestarzałych funkcji setProps() w pliku React.js?
- 15. Co to jest dobra uniksowa alternatywa dla DDD (Data Display Debugger)?
- 16. Co to jest alternatywa dla ~ (katalogu domowego użytkownika) w wierszu polecenia systemu Windows?
- 17. Co to jest Serializable? Co to znaczy?
- 18. Co to jest zamiennik dla grails.converters.deep.JSON
- 19. Co to jest skrótu javascript dla tego?
- 20. Co to jest odpowiednik Swift dla dispatch_group_create
- 21. Co to jest przenośna wartość dla UINT_MIN?
- 22. Co to jest odpowiednik addFooterView dla GridView?
- 23. Co to jest odpowiednik coredata dla Androida
- 24. Co to jest "matryca" dla raphael
- 25. Co to jest jQuery dla Document.createElementNS()?
- 26. Co to jest odpowiednik WPF dla ControlPaint.Light?
- 27. co to jest Array.any? dla javascript
- 28. Co to jest pakiet GSF dla Androida?
- 29. Co to jest @Override dla w Javie?
- 30. Co to jest bezpieczny narzut dla RequestAdditionalTime()?