в HTML5 WebSocket с помощью SSL


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

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

спасибо

3 96

3 ответа:

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

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

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

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