nginx 支持websocket
nginx 反向代理websocket
nginx配置
请求地址及路径:ws://x.x.x.x/web/springws/websocket.ws
解析 map 指令
上面 nginx.conf 配置中的 map $http_upgrade $connection_upgrade 的作用,参考 http://www.ttlsa.com/nginx/using-nginx-map-method/
该作用主要是根据客户端请求中 $http_upgrade 的值,来构造改变 $connection_upgrade 的值,即根据变量 $http_upgrade 的值创建新的变量 $connection_upgrade,创建的规则就是 {} 里面的东西,请见配置:
http{ # websocket map $http_upgrade $connection_upgrade { default upgrade; '' close; } }
# websocket upstream websocket { server xxx.xxx.xxx.xxx:8082; server xxx.xxx.xxx.xxx:8082; } server { # websocket location ^~ /web/springws/ { proxy_pass http://websocket; 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_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }