Не удается подключиться к Flask-Socketio через wss, но работает через ws - PullRequest
0 голосов
/ 01 января 2019

Я создал серверное приложение Flask-Socketio, которое работает, как и ожидалось, когда я подключаюсь к нему с помощью клиента javascript через ws, но не удается подключиться через wss как на локальном хосте, так и при работе на моем сервере Digital Ocean.С wss я получаю эту ошибку в консоли (клиент работает на Heroku):

index.js:14 WebSocket connection to 'wss://[IP_ADDRESS]/socket.io/? 
EIO=3&transport=websocket' failed: Error in connection establishment: 
net::ERR_CONNECTION_REFUSED

Когда клиент работает на локальном хосте, это вызывает эту ошибку:

polling-xhr.js:265 GET https://localhost:5000/socket.io/? 
EIO=3&transport=polling&t=MW6p0Aj net::ERR_SSL_PROTOCOL_ERROR

Колбасервер работает с

socketio.run(app, host='0.0.0.0', port=443) # production или

socketio.run(app, host="localhost", port=5000) # localhost

Сначала я подумал, что это может быть связано с тем, что конфигурация Nginx или порты сервера не открыты,однако такая же проблема возникает с сервером, работающим на Localhost, поэтому теперь я подозреваю, что проблема с моим приложением Flask-Socketio

Ответы [ 2 ]

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

Оказывается, у меня не настроены SSL-сертификаты.Я следовал инструкциям этого руководства , чтобы создать самозаверяющий сертификат SSL и настроить Nginx для его использования.Теперь работает как положено.

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

Есть много проблем с Flask-Socketio.С сервером Apache это почти не работает. Но вы используете Nginx.Обратитесь по следующей ссылке на GitHub.

https://github.com/miguelgrinberg/Flask-SocketIO/issues/298#issuecomment-408682588

...