如何修复此NGINX 502坏网关错误?
我正在angular应用程序中开发web套接字。我让它通过nginx连接到python后端。我发现大约90%的时候我会收到502个“坏网关”错误。我会这样做:如何修复此NGINX 502坏网关错误?,nginx,websocket,http-status-code-502,Nginx,Websocket,Http Status Code 502,我正在angular应用程序中开发web套接字。我让它通过nginx连接到python后端。我发现大约90%的时候我会收到502个“坏网关”错误。我会这样做: 在浏览器中加载页面并连接web套接字 Python后端将数据发送到前端 断开web套接字 尝试重新连接web套接字与OP遇到的问题不一样,但只是为了防止任何人遇到此问题,并且具有与我相同的设置: 我在SSL上使用WebSockets(所以wss://协议),并且弹出了502,尽管配置以前已经工作过。配置如下所示: ... proxy_pa
wss://
协议),并且弹出了502,尽管配置以前已经工作过。配置如下所示:
...
proxy_pass http://127.0.0.1:8080;
...
在后端,我使用带有ws
包的节点来创建websocket服务器
正如我所说:它以前工作过,但突然停止了工作。此外,nginx在从上游读取响应头时将上游提前关闭的连接写入错误日志。我认为nginx或node解决了某种安全问题,导致设置不再工作
为了让它工作,我必须做的是在proxy\u pass
config中使用https而不是http
...
proxy_pass https://127.0.0.1:8080;
...
Python服务的堆栈是什么?无论是Python方面的框架还是运行它的应用服务器,都是CentOS Linux上的Python 3.6。我只导入标准websockets库。我实际上是手动运行该命令,尽管我通常将其作为守护进程运行。这就是你的意思吗?Python标准库中没有提供WebSocket的模块。您必须在此处提供一些(最好是最低限度的)代码。@AKX我在requirements.txt文件websockets==8.0.1
中有这一行,我将包括我的nginx代码作为我的问题的编辑,哪个应用服务器正在运行您的应用程序?(正在侦听端口8765的进程)我遇到了完全相同的问题,并尝试了您的解决方案。在这个过程中,我注意到另一个错误,它导致容器相对频繁地重新启动。在解决了另一个问题后,为了好玩,我从HTTPS切换回HTTP。你瞧,问题已经解决了。
...
proxy_pass https://127.0.0.1:8080;
...