adorapp
adorapp

Reputation: 89

400 (BAD REQUEST) & Invalid session

I use example app(https://github.com/miguelgrinberg/Flask-SocketIO/tree/master/example) and it starts on local Windows ok, but on server CentOS it failed with error 400. I use Gunicorn + Nginx + Eventlet.

Logs:

2019-12-19 16:20:41,694 - INFO: 30bd9dce92f245698ae73dfec9fc0197: Sending packet MESSAGE data 0 - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]
2019-12-19 16:20:41,730 - INFO: 30bd9dce92f245698ae73dfec9fc0197: Received packet MESSAGE data 0/test, - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:52]
2019-12-19 16:20:41,731 - INFO: 30bd9dce92f245698ae73dfec9fc0197: Sending packet MESSAGE data 2/test,["my_response",{"data":"Connected","count":0}] - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]
2019-12-19 16:20:41,731 - INFO: 30bd9dce92f245698ae73dfec9fc0197: Sending packet MESSAGE data 0/test - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]
2019-12-19 16:20:41,732 - INFO: 30bd9dce92f245698ae73dfec9fc0197: Received request to upgrade to websocket - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:105]
2019-12-19 16:21:12,524 - WARNING: Invalid session 30bd9dce92f245698ae73dfec9fc0197 - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/server.py:370]
2019-12-19 16:21:13,708 - INFO: 64aaa335d03e48adbca4d6db461ba372: Sending packet OPEN data {'sid': '64aaa335d03e48adbca4d6db461ba372', 'upgrades': ['websocket'], 'pingTimeout': 60000, 'pingInterval': 25000} - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]
2019-12-19 16:21:13,709 - INFO: 64aaa335d03e48adbca4d6db461ba372: Sending packet MESSAGE data 0 - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]
2019-12-19 16:21:13,744 - INFO: 64aaa335d03e48adbca4d6db461ba372: Received request to upgrade to websocket - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:105]
2019-12-19 16:21:44,711 - WARNING: Invalid session 64aaa335d03e48adbca4d6db461ba372 - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/server.py:390]
2019-12-19 16:21:44,712 - WARNING: Invalid session 64aaa335d03e48adbca4d6db461ba372 - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/server.py:370]
2019-12-19 16:21:46,801 - INFO: da4cbf9a20ba4bfc9cd731644bd4bf6f: Sending packet OPEN data {'sid': 'da4cbf9a20ba4bfc9cd731644bd4bf6f', 'upgrades': ['websocket'], 'pingTimeout': 60000, 'pingInterval': 25000} - [in /home/venv/py37sio/lib/python3.7/site-packages/engineio/socket.py:95]

Then when I don't use Nginx+Gunicorn, running python3 app.py is ok.

But just using Gunicorn gunicorn -w 1 -b 127.0.0.1:5000 app:app, also details as above logs.

So I guess the problem is Gunicorn, but I don't know how to solve it.

Upvotes: 3

Views: 4102

Answers (1)

adorapp
adorapp

Reputation: 89

I needed to start Gunicorn with the eventlet worker type:

gunicorn -w 1 -k eventlet -b 127.0.0.1:5000

Upvotes: 5

Related Questions