webSocket推送前端数据,本地开发环境没问题,QA环境报错:
org.springframework.web.socket.server.support.DefaultHandshakeHandler : Handshake failed due to invalid Upgrade header: null
经过比较后发现,QA环境使用nginx反向代理服务器忽略了headers中的:Upgrade:websocket。
解决办法:在 Nginx ,location 中添加以下红色代码:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
server {
listen 80;
server_name localhost;
client_max_body_size 10240m;
location /jk_ers{
proxy_pass http://jkErs/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
使得请求中包含Upgrade。
本文解决WebSocket在QA环境中因Nginx忽略Upgrade头导致的问题,通过在Nginx配置中添加proxy_set_header升级请求。
81

被折叠的 条评论
为什么被折叠?



