Я тестировал функциональность веб-сокетов, используя интерфейс Javascript front-end и Java. Мне удалось получить связь между клиентом и сервером, работающим на стандартных протоколах HTTP/WS, но хотелось бы включить HTTPS для обслуживания интерфейсного (веб-сайта), а затем использовать WSS для подключения к серверной конечной точке Java.Не удается подключиться к серверу Websocket через TLS
До сих пор я установил сайт с HTTPS/TLS с использованием самозаверяющего сертификата, и я могу перейти на сайт с использованием протокола HTTPS
: «https://domain-name.chat».
Теперь я предполагал, что это просто вопрос изменения протокола в uri до WSS
при создании нового соединения с Websocket, поэтому я изменил uri на «wss: //domain.name.chat/serverEndpoint».
Теперь, когда я загружаю веб-страницу, соединение не выполняется, поскольку оно запускает обработчик события Websocket.onclose().
Я знаю, что в коде нет ничего плохого, потому что он ранее работал с использованием HTTP/WS.
Я правильно понимаю, что в Websockets нет проблем с блокировкой междоменных скриптов?
Я пропустил шаг в процессе настройки HTTPS/WSS?
EDIT: Добавлена информация Виртуальный хост для домена сайта
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName domain-name.chat
ServerAlias www.domain-name.chatt
DocumentRoot /usr/local/apache-tomcat-7.0.47/webapps/WebSocketChat/
RewriteEngine on
RewriteRule ^/(.*)$ /WebSocketChat/$1 [l,PT]
JkMount /* worker2
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</VirtualHost>
</IfModule>
Это установка разъем в server.xml для Tomcat7:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="250" scheme="https" secure="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
Вы внесли правильные изменения на стороне сервера websocket? То есть настроить сертификаты, tls? – Andrey
@ Andrey Да, я настроил ssl и создал самозаверяющий сертификат и разрешил виртуальный хост SSLEngine с сертификатом и ключом и т. Д. Является ли TLS чем-то отдельно от SSL? – crm
Tls отдельно от ssl, но это не проблема, потому что https может использовать оба протокола для шифрования. Также вы используете apache, как я вижу, можете ли вы предоставить конфигурацию, связанную с websocket, чтобы мы могли диагностировать, что не так? Может быть [это] (http://stackoverflow.com/questions/11468154/tunneling-secure-websocket-connections-with-apache) вопрос поможет? – Andrey