У меня недостаточно репутации для комментария, поэтому ответьте:
Прошло много времени с тех пор, как я ввязался в это, и моей первой мыслью было, что вам действительно нужен ProxyPass, но когда я посмотрел на мой конфиг, это не тот случай.
Я выхожу на конечность и думаю, что здесь проблема с вашим VH, вы явно слушаете порт 443 (https), но я считаю, что wss есть другой порт, который он слушает, так что, возможно, вы можете попробовать другой порт. Помимо этого, вы также можете попытаться сделать new WebSocket('https://video.domain.com')
и включить прокси в VH, таким образом, безопасное соединение обрабатывается уровнем http. Но так как браузер затем попытается обновить запрос до сокета, я сомневаюсь, что это будет работать.
Я должен упомянуть, что в моем случае я использовал websockets для открытия соединения mqtt, так как браузер не реализует mqtt это делается через wss.
Если это не так, я мог бы попытаться глубже погрузиться во внутреннюю работу библиотеки mqtt, которую я использую, чтобы разобрать, как устанавливается соединение.
I надеюсь, что все это поможет: D
edit
, так как в комментариях не хватило места, я разместлю его здесь:
не относится к сокетам, но на apache и прокси: у директивы ProxyPass
есть аналог ProxyPassReverse
для этой цели.
<virtualhost IPv4:443 [IPv6]:443>
Servername knowledge.domain.com:443
ServerAlias knowledge.domain.com
ServerAdmin webmaster@domain.com
DocumentRoot /path/to/documentRoot
<Directory /path/to/documentRoot>
Options -Indexes -FollowSymLinks -SymLinksIfOwnerMatch
</Directory>
SSLEngine On
SSLCertificateFile /path/to/ssl.crt
SSLCertificateKeyFile /path/to/ssll.key
SSLCACertificateFile /path/to/ssll.cer
Header always set Strict-Transport-Security: "max-age=31536000; includeSubDomains; preload"
Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure"
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
<Location />
ProxyPass http://127.0.0.1:3000/
ProxyPassReverse http://127.0.0.1:3000/
</Location>
<Directory />
Options -FollowSymLinks -Indexes -SymLinksIfOwnerMatch
</Directory>
CustomLog "/path/to/logs/access.log" combined
ErrorLog "/path/to/logs/error.log"
LogLevel warn
</virtualhost>
это пример моего прокси-конфи для nodejs приложения