nginx反向代理websocket返回403

同步发布在个人博客:https://njlife.top/post/66/nginx-websocket-returns-403

websocket功能在本地开发环境能正常使用,部署到远程服务器之后连接时返回403。代码都是一样的,本地能正常运行,那应该不是代码原因。与开发环境不一样的是远程服务器用了nginx对websocket做了反向代理,很可能是由于配置原因。

目前nginx对于代理websocket的配置:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-real-ip $remote_addr;

关于这段配置的说明,可查看另一篇文章:nginx反向代理websocket

经过一系列google,在git上找到这个:websocket problem when deployed behind nginx。需要添加配置:

proxy_set_header Origin '';

把相关配置加上之后,一切都正常了。

你可能感兴趣的:(nginx反向代理websocket返回403)