Подтвердить что ты не робот

Html5 Websocket с SSL

Возможно ли иметь WebSockets с https? При переходе на https мой WebSocket возвращает ошибку безопасности и отлично работает с обычным http...

socket = new WebSocket("ws://my_www:1235"); 

Спасибо

4b9b3361

Ответ 1

Соединение WebSocket начинает свою работу с помощью рукопожатия HTTP или HTTPS. Когда страница доступна через HTTP, вы можете использовать WS или WSS (защита WebSocket: WS over TLS). Однако, когда ваша страница загружается через HTTPS, вы можете использовать только WSS-браузеры, которые не позволяют "понизить" безопасность.

Ответ 2

Вы не можете использовать WebSockets через HTTPS, но вы можете использовать WebSockets через TLS (HTTPS - HTTP через TLS). Просто используйте "wss://" в URI.

Я считаю, что недавняя версия Firefox не позволит вам использовать не-TLS WebSockets с HTTPS-страницы, но обратное не должно быть проблемой.

Ответ 3

1 дополнительная оговорка (помимо ответа от kanaka/peter): если вы используете WSS, а сертификат сервера неприемлем для браузера, вы не можете получить какой-либо диалог с браузером (например, для веб-страниц). Это связано с тем, что WebSockets рассматривается как так называемый "субресурс", а исключение сертификата/исключение безопасности/любые диалоги не отображаются для подресурсов.