Итак, в настоящее время у меня есть 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, но не запросы веб-сокетов к серверу. Заранее спасибо.