【发布时间】:2019-10-24 01:35:51
【问题描述】:
我有一个在 NGINX 后面运行的 Flask 应用程序,我正在使用 Gunicorn 进行部署。当我部署时,一切正常,我可以点击我的服务器 IP 并查看应用程序运行没有问题,但是当我执行使用 socketio 的操作时,该操作不会传递到后端,我相信这是一个问题我在 NGINX 上的配置。我的 conf.d 文件有以下内容
server {
listen 80;
server_name MY_SERVER_IP;
location / {
proxy_pass http://127.0.0.1:8000;
}
location /socket.io {
include proxy_params;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://127.0.0.1:8000/socket.io;
}
}
我使用
部署应用程序gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 app:app
在我的 app.py 中,我正在运行 socketio 服务器
socketio.run(app, host='127.0.0.1', port=80, debug=True)
在控制台中也看到了这个...
socket.io.min.js:2 GET http://127.0.0.1:8000/socket.io/?EIO=3&transport=polling&t=MuA1z9K net::ERR_CONNECTION_REFUSED
一切都在本地工作。请记住,我对使用 socketio 的 Flask 部署相当陌生。
【问题讨论】:
标签: flask websocket socket.io flask-socketio