Рейтинг:0

Прокси-проход на экспресс-http-сервер не работает с безопасным веб-сокетом

флаг cn

Итак, в настоящее время у меня есть apache с прокси-проходом, который перенаправляет все запросы на экспресс-API, работающий с использованием модуль http-узла, у меня также установлен ssl-сертификат letsencrypt, и в этой части все работает нормально. Однако, когда я пытаюсь открыть безопасное соединение через веб-сокет, возникают ошибки. У меня есть только минимальный опыт в настройке apache и настройке ssl, поэтому, пожалуйста, не стесняйтесь.

На моем сервере:
server.ts

импортировать * как http из 'http';
импортировать * как Websocket из 'ws';
импортировать * как экспресс из 'экспресс';
...
константное приложение = экспресс();
постоянный сервер = http.createServer (приложение);
const wss = новый Websocket.Server({ сервер, путь: '/ws' });
...
server.listen(3005, () => {
    console.log('Сервер запущен на порту 3005');
});

В браузере:
index.js

const ws = новый WebSocket('wss://mydomain.tld/ws');

И мой файл конфигурации apache для домена
мойдомен.tld.conf

<VirtualHost *:443>
    ServerName mydomain.tld
    ProxyPreserveHost On

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:3005/ retry=0
    ProxyPassReverse / http://127.0.0.1:3005/
RewriteEngine on
RewriteCond %{SERVER_NAME} =mydomain.tld
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Итак, еще раз, чтобы быстро обобщить проблему, я могу создавать успешные защищенные SSL-запросы https, но не запросы веб-сокетов к серверу. Заранее спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.