Lassen Sie sich diese lächerliche Frage nginx Einrichtung Proxy umkehren eine websocket (a mosquitto MQTT Dienst). Die folgende Konfiguration funktioniert perfekt für ws: // aber nicht für WSS: //nginx Reverse WSS Proxying - Client ungültige Methode gesendet, während Client-Anforderungsleitung zu lesen
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log info;
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 80;
listen 443 ssl;
# nginx is smart enough to ignore these when serving HTTP instead of HTTPS
ssl_certificate /etc/nginx/cert;
ssl_certificate_key /etc/nginx/key;
location /ws {
# access_log off;
rewrite ^/ws$/break;
rewrite ^/ws(.*)$ $1 break;
proxy_pass http://mqtt:9001;
proxy_redirect default;
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 https;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
}
client_max_body_size 1M;
client_body_buffer_size 1M;
}
Hier ist, was ich in nginx Logs:
10.142.0.4 - - [09/Apr/2016: 19: 15: 16 +0000] "\ x16 \ x03 \ x01 \ x012 \ x01 \ x00 \ x01. \ X03 \ x03- \ xFD \ xD4C \ x828 \ xDFai! \ XB1 \ x87 \ x96l \ x8e \ xF6a \ x00 \ x059 \ xC4! xF1y: \ x89 \ xFF $ d^\ x87 \ xE5 \ x00 \ x00z \ xC0 '\ x00g \ x00 \ x9C \ xC0 \ x11 \ xC0 \ x07 \ xC0 \ x0C \ xC0 \ x02 \ x00 \ x05 \ xC00 \ xC0, \ xC0 (\ xC0 $ \ xC0 \ x14 \ xC0 "400 173" - "" - " 2016/04/09 1 09.15.17 [info] 7 # 7: * 6 Client ungültige Methode gesendet, während Client-Anforderungsleitung zu lesen, Auftraggeber: 10.48.0.1, Server:, Anfrage: „2.6OK4f = 4 jЁǐ
ich bei einem vollständigen Verlust bin - bitte helfen :(Alle nicht-websocket Routen (links aus dem Original-Schnipsel der Einfachheit halber) arbeiten mit SSL und die websocket mit TLS arbeitet auch :(
Wenn es hilft, ich bin mit Nginx als Docker Behälter innerhalb Kubernetes auf GCP.