nginx 支持websocket

nginx 反向代理websocket 

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;
    }
}
相關文章
相關標籤/搜索