Nginx 怎么反向代理 websocket

有些程序需要用到 websocket,比如 websshcode-server 等,如果 nginx 需要反向代理到这些程序,那么需要加上相应的配置。

请求头设置 Upgrade 和 Connection 即可。

map $http_upgrade $connection_upgrade {
 default upgrade;
 '' close;
}

server {
    listen 80;
    server_name ssh.caoaman.cn;

    location / {
      proxy_redirect off;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_read_timeout 3600s;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://localhost:5032/;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;
    }
}

map 指令定义了一个变量,用于根据请求头中的 Upgrade 字段设置 Connection 字段的值。这段配置使用了一个Nginx map模块来将HTTP头中的"Upgrade"请求头映射到"Connection"请求头中的值。

其中,"default upgrade;"语句表示如果"Upgrade"请求头不为空,则将"Connection"请求头设置为"upgrade"。"'' close;"语句表示如果"Upgrade"请求头为空,则将"Connection"请求头设置为"close"。

AD: 【腾讯云服务器大降价】 2核4G 222元/3年 1核2G 38元/年
网站:阿蛮君博客
标题:Nginx 怎么反向代理 websocket
链接:https://www.amjun.com/1440.html
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!
THE END
分享
二维码
打赏
海报
Nginx 怎么反向代理 websocket
有些程序需要用到 websocket,比如 webssh 和 code-server 等,如果 nginx 需要反向代理到这些程序,那么需要加上相应的配置。 请求头设置 Upgrade 和 Connect……
<<上一篇
下一篇>>