配置代码如下:

//将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答题时,用到了长连接,在本地测试时由于前后端地址配置一样,出现能连接,但是前端传送的用户信息,在后端无法返回的问题,一直找不到问题,上到服务器上后,前端用外网地址,后端用服务器地址,居然能用了。我猜在本地测不通的原因,可能是后端配置域名,可能存在跨域问题。 

 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐