Flask Socket io несовместим с подключением (uwsgi + nginx) - PullRequest
0 голосов
/ 04 января 2019

Когда я запускаю свой сокет на локальном компьютере (сервере разработки), он работает отлично.

app = Flask(__name__)
socketio = SocketIO(app)
if __name__ == '__main__':
    socketio.run(host='0.0.0.0', port=2000, app=app)

Хотя, когда я развернул его на сервере с использованием UWSGI и обратного прокси-сервера с помощью NGINX, соединениеответ возвращается как ПЛОХОЙ ЗАПРОС (400).Соединение устанавливается какое-то время, но оно очень противоречиво.

Я проверил ошибку в логах nginx и обнаружил ошибку " преждевременно закрытое соединение в восходящем направлении при чтении заголовка ответа из восходящего потока ".Я уже давно борюсь с этой ошибкой.Было бы здорово, если бы кто-то мог помочь мне выбраться из этого беспорядка: /

PS Скажите, нужны ли какие-либо другие журналы для дальнейшего расследования

1 Ответ

0 голосов
/ 10 января 2019

Наконец-то нашел решение моей проблемы.Хотя это не очень сложно, но это то, что есть.Поскольку в большинстве примеров было указано, что для рабочих задано значение 3 , я развертывал свой сервер с такой же конфигурацией, но это приводило к преждевременному закрытию соединения, я предполагаю, что это могло быть из-за того, что сервер не был способенработает несколько рабочих вместе.Поэтому я уменьшил число рабочих до 1 и реализовал gevent поверх него.Команда выглядела примерно так (с использованием gunicorn):

gunicorn -k gevent -w 1 module:app


...