location /10001 {
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_pass http://localhost:10001/ws;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /10002 {
proxy_http_version 1.1;
proxy_pass http://1localhost:10002/ws;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
踩坑1:
netty配置中一开始配置的 处理 / 路径,调试发现转发后有错误。
// WebSocket 握手、控制帧处理
pipeline.addLast(new WebSocketServerProtocolHandler("/", null, true));
//改为使用后缀 /ws
pipeline.addLast(new WebSocketServerProtocolHandler("/ws", null, true)); // WebSocket 握手、控制帧处理
具体原因未知,可能是转发是/ 路径导致的问题