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;
    }
}
复制代码

 

posted @   yxy_linux  阅读(6625)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示