码迷,mamicode.com
首页 > Web开发 > 详细

配置 Nginx 反向代理 WebSocket

时间:2018-11-29 20:17:34      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:设置   过多   proxy   efault   forward   map   _for   cat   设计   

一般设置代理只需按以下来设置是没有问题的,但是今天我们要操作的websockt

server {
location / {
proxy_pass http://127.0.0.1:10086;
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_set_header REMOTE-HOST $remote_addr;
proxy_http_version 1.1;
proxy_read_timeout 300s;
}
}

nginx -t 一下

会出现如下错误:

nginx: [emerg] unknown "connection_upgrade" variable

就是这里出现了个坑

其中涉及到了一个nginx的设计问题 End-to-end and Hop-by-hop Headers
我在这里还是不过多赘述了,以免误人子弟

map在nginx中是为一个或多个变量设置映射表

下面是需要添加的几项配置:

http {
map $http_upgrade $connection_upgrade {
default upgrade;
‘‘ close;
}
server {
location / {
#…
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}

配置 Nginx 反向代理 WebSocket

标签:设置   过多   proxy   efault   forward   map   _for   cat   设计   

原文地址:http://blog.51cto.com/11238548/2323973

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!