Nginx 配置 Websocket 实测成功
ws和wss的配置完全一样,区别是放置的位置,ws放置到监听80端口的server,wss放置到监听443端口的server
现状:
使用uniapp和springboot前后端实现即时通讯
实测成功:
1、我的前端url示例:
ws://192.168.0.176:7394/prod-api/websocket/1231114816408653824/1
2、我的springboot后端代码
@Component
@Slf4j
@ServerEndpoint("/websocket/{userId}/{type}")
public class WebSocketServer {
xxx //需要这块内容的可以私聊给
}
话不多说直接上配置:
# websocket 支持
location /prod-api/websocket/ {
proxy_pass http://127.0.0.1:7394; //代理到本地,如果是其他服务器,适时修正
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400; // 设置超时时间(nginx默认60秒超时,这里需要延长超时时间)
}
网上其他帖子上说要加Map的,其实不是必须的。