1119

Настроить 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)

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

Константин
61

Какие SSL сертификаты продают для российских сайтов?

Сообщается, что Sectigo и RapidSSL прекратили выпуск сертификатов для российских доменных зон ru и т.д. Одновременно вы предлагаете приобретать эти сертификаты (Timeweb Pro - это сертификат от Sectigo). Насколько информация по приобретению сертификатов...
HelloEveryOne
128

Подбор IP

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