Nginx反代Websocket 403报错
文章目录
背景
由于服务器对外只有一个端口,需要用nginx把服务器上多个tomcat的地址代理出来,工程中需要用Websocket,按照网上常规配置后,部分Websocket访问报403错误,部分Websocket正常。
nginx版本
1.14.2
配置
最开始的配置如下
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
配置后,部分Websocket访问报403错误,部分Websocket正常。经过google后,参考websocket problem when deployed behind nginx,后新增如下配置,重启nginx就好了。
proxy_set_header Origin '';
完整的配置如下
location /api/stream {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin '';
}