Der Nginx-config für WSS
Ich habe ein problem bei der Verbindung, durch die WSS zu meinem server. Ich folgte den folgenden Artikel, um das setup nginx mit websockets: http://www.letseehere.com/reverse-proxy-web-sockets
Das folgende ist meine nginx config genießen Sie Spielen! Anwendung:
#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
tcp {
upstream websockets {
## Play! WS location
server 127.0.0.1:9000;
}
server {
listen 80;
listen 8000;
server_name socket.domain.com;
tcp_nodelay on;
proxy_pass websockets;
proxy_send_timeout 300;
}
# virtual hosting
#include /usr/local/nginx/vhosts/*;
}
http {
server {
listen 443 ssl;
server_name socket.artoo.in;
ssl_certificate /usr/local/nginx/key/socket.domain.com.crt;
ssl_certificate_key /usr/local/nginx/key/socket.domain.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location /{
proxy_pass http://127.0.0.1:9000;
}
}
}
Während der server erreichbar ist, auf http://socket.domain.com, https://socket.domain.com, ws://- Buchse.domain.com aber nicht wss://Buchse.domain.com
- Möglich, Duplikat der NGINX reverse proxy websockets UND aktivieren Sie SSL (wss://)? (die meisten von Ihnen positiv bewertet werden Antwort nur links auf diese doppelte)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte ich eine Anleitung zusammen gestellt in der Q&A-format, das Ihnen zeigt, wie all dies zu tun mit NGINX-Module, viel einfacher 😉
NGINX reverse proxy websockets UND aktivieren Sie SSL (wss://)?
Müssen Sie neu erstellen NGINX und Folgen Sie die Konfiguration in der Frage oben.
Habe ich zumindest gelöst für die, die kurzfristig durch die Verwendung von stunnel (bezugnehmend auf diesen Artikel: http://www.darkcoding.net/software/proxy-socket-io-and-nginx-on-the-same-port-over-ssl/).
Stunnel kann konvertieren HTTPS-zu-HTTP-und token WSS WS. Nginx serviert die socket-Anwendung läuft auf port 9000 als üblich:
/etc/stunnel/stunnel.conf
/usr/local/nginx/conf/nginx.conf
Nun das einzige, was ich brauche zu sorgen, so erhöhen Sie das timeout für websockets auf nginx, die Verbindung scheint zu sein, brechen alle 75 Sekunden (Standard für nginx).