Craftum — конструктор сайтов
Создайте сайт с помощью профессиональных шаблонов или придумайте дизайн с нуля
243

Настроить tsl на web socket

0 ответов

Сервер:
С помощью php библиотеки ratchet прослушиваю web socket на порт 8200
Код {
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat()
)
),
8200
);
$server->run();
}
Запускаю этот php файл

Клиент:
В js подключаюсь к веб сокету
Код {
var ws = new WebSocket(`ws://localhost:8200`)
}

Локально всё работает.
И на сервере работает, но без ssl

Когда сделал это на сервере с ssl появилась ошибка на клиенте:
Mixed Content: The page at was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint. This request has been blocked; this endpoint must be available over WSS.

Написали в Тех. поддержку. Тех. поддержка добавила в файл .htaccess следующее:
Header always set Content-Security-Policy "upgrade-insecure-requests"
Но ситуацию это не исправило.
Просто на клиенте поменялась ошибка на:
WebSocket connection to 'ws://localhost:8200/' failed:

После гугла смогли составить более понятное предложение(Попросили сделать Тех. поддержку tls termination)
В конфигурационные файлы сервера были добавлены изменения:
Apache:
ProxyRequests off
ProxyPass /ws/ ws://localhost:8200/
ProxyPassReverse /ws/ ws://localhost:8200/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule /ws/.* ws://localhost:8200%{REQUEST_URI} [P]
Nginx:
location /wss/ {
proxy_pass http://websocket_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400;
}
Это тоже не помогло

 

Ответы (0)

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

Валерий Паньков
112

Статус: Заказан. Let's Encript (SSL сертификат)

Привет, на хостинге TimeWeb я начал настройку всех нужных параметров для существования сайта. Менеджер, MySQL, домен, всё купил и настроил. Осталось дело за малым - сертификат SSl. В соответствующей вкладке я решил заказать сертификат, разумеется, для...

Переустановить SSL сертификат

Здравствуйте! Подскажите пожалуйста, как переустановить SSL сертификат по ссылке: https://www.sslshopper.com/ssl-checker.html#hostname=http://suslovanadezhda.ru/ С Ув. Надежда
Vasiliy Lezhnin
251

Перенос BitrixVm

Нужно перенести vps с хостинга beget на timeweb. На vps стоит BitrixVM и сайт на 1С Битрикс. Есть ли у вас услуга переноса или инструкция и рекомендации по переносу, чтобы избежать потери данных?
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте