nginx配置nginx
請求地址及路徑:ws://x.x.x.x/web/springws/websocket.wsweb
解析 map 指令spring
上面 nginx.conf 配置中的 map $http_upgrade $connection_upgrade 的做用,參考 http://www.ttlsa.com/nginx/using-nginx-map-method/websocket
該做用主要是根據客戶端請求中 $http_upgrade 的值,來構造改變 $connection_upgrade 的值,即根據變量 $http_upgrade 的值建立新的變量 $connection_upgrade,建立的規則就是 {} 裏面的東西,請見配置:socket
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; } }