в HTML5 WebSocket с помощью SSL
возможно ли иметь WebSockets с https? При переключении на https мой WebSocket возвращает ошибку безопасности и отлично работает с обычным http...
socket = new WebSocket("ws://my_www:1235");
спасибо
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 рассматривается как так называемый "подресурс", а сертификаты принимают / исключение безопасности / любые диалоговые окна не отображаются для подресурсов.