nginx配置websocket外网映射
·
配置代码如下:
//将http连接升级为websocket连接,这条代码是关键不可少
map $http_upgrade $connection_upgrade{
default keep-alive;
'websocket' upgrade;
}
server {
listen 80;//服务器监听端口号
server_name localhost;
location / socket {
proxy_pass http://10.243.34.186:9004;// 代理转发地址
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;// http连接升级websocket连接
proxy_set_header Connection "upgrade";// http连接升级websocket连接
proxy_read_timeout 3600s; // 超时设置
}
}
作者使用案例:
项目:在线学习
前端配置:

后端配置:

疑难说明:作者在做PK答题时,用到了长连接,在本地测试时由于前后端地址配置一样,出现能连接,但是前端传送的用户信息,在后端无法返回的问题,一直找不到问题,上到服务器上后,前端用外网地址,后端用服务器地址,居然能用了。我猜在本地测不通的原因,可能是后端配置域名,可能存在跨域问题。
更多推荐
所有评论(0)