Resulta que los websocket no pasan tan fácilmente por el proxy inverso. Llevan
su burumba.
Aquí por ejemplo, haremos un proxy inverso con SSL para una aplicación que
escucha por el puerto 8888.
“nginx”1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| server {
listen 80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
ssl_certificate /etc/nginx/nginx.crt;
ssl_certificate_key /etc/nginx/nginx.key;
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://127.0.0.1:8888/;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_redirect default;
proxy_read_timeout 1800;
client_max_body_size 128G;
}
}
|
Note como los encabezados Upgrade son seteados. Ese es el truco…