Как заставить socket.io работать по https?

Здравствуйте, как заставить socket.io работать по https протоколу?
Есть отдельная машина, где установлен nodeJS.
Купил SSL-сертификат, но возникла проблема с WS, т.к. обращение шло по http протоколу.
var socket = io.connect('http://24.190.11.201:8047', {'reconnection': true});


Что нужно для осуществления моей задачи?
  • Вопрос задан
  • 2956 просмотров
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Если у вас WebSockets, то почему вы пишите http?
Для 80 порта пишите ws://... для 443 с шифрованием wss://, для другого указываете явно.
Что-то вроде wss://24.190.11.201:8047
В доке написано почему-то http, так попробуйте https раз у вас сертификат.

Только вопрос как у вас сервер настроен, и вообще правильно ли.
Если вам нужно шифрование - я бы посоветовал поставить Nginx, он будет работать с сертификатами и прочими вещами со своей области ответственности, а ваше приложение будет работать со своею частью.
В конфиг Nginx прописать подобное:
location ~ ^/WebSockets$ {
		proxy_pass			http://127.0.0.1:8080;
		proxy_http_version	1.1;
		proxy_set_header	Upgrade $http_upgrade;
		proxy_set_header	Connection	"upgrade";
	}
Ответ написан
Комментировать
madmages
@madmages
Человек прямоходящий
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы