У меня есть приложение-фляга, использующее расширение фляги-сокета.Он отлично работает на локальном компьютере, используя сервер 'socketio.run ()' или 'флеш-бег'.Я хочу, чтобы он работал с прокси-сервером nginx, и он работает на локальном компьютере с такой конфигурацией сервера nginx:
file /etc/nginx/sites-available/server.conf
server {
listen 8080;
location / {
proxy_pass http://localhost:5000;
}
}
Фактическое приложение работает на порту 5000 с помощью socketio.run (), который, как я слышал, также является хорошим рабочим сервером.Странно то, что он работает даже с таким сообщением: «Транспорт WebSocket недоступен. Установите eventlet или gevent и gevent-websocket для повышения производительности».Это также работает с этим предупреждением: «Flask-SocketIO работает под Werkzeug, WebSocket недоступен».(во-первых, когда я использую socketio.run (), во-вторых, с запущенной флягой)
Тем не менее, если я попытаюсь запустить то же самое на рабочем сервере, работает только часть http, а сокеты - нет.Поскольку я читаю всюду в Интернете, я должен указать заголовки Connection и Upgrade в конфигурации сервера nginx, которые я не понимаю почему и которые я тоже попробовал:
file /etc/nginx/sites-available/server.conf
server {
listen 80;
server_name servername.com;
location / {
proxy_pass http://127.0.0.1:5000;
}
location /socket.io/ {
proxy_pass http://127.0.0.1:5000/socket.io;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Результат тот же, сокеты не работают.Используя «работу фляги» с любым из конфигов, я получаю следующие сообщения отладки: 127.0.0.1 - - [04 / Feb / 2019 20:55:52] «GET /socket.io?EIO=3&transport=polling&t=MYwIxxF HTTP / 1.1»404. - Указатель не работает, но сервер получает его и отвечает 404, для чего я не вижу причин.
Мой локальный компьютер работает под управлением Kali Linux и nginx 1.13.12, удаленным является Ubuntu 18.04 с nginx 1.14.0 Сейчас я действительно не понимаю, какая конфигурация правильная, почему первая конфигурация работает на моем локальном компьютере и почему ни одна из конфигураций не работает на рабочем сервере и как мне интерпретировать это сообщение 404.Хотя есть несколько руководств в Интернете, он не работает со мной.
Любая помощь приветствуется!