Я использую Apache 2.4. Я в ситуации, когда у меня запущено веб-приложение :4567
, и я хотел бы проксировать его на subdomain.mydomain.com
В настоящее время у меня он настроен в соответствии с документацией по приложению, но он передает его на mydomain.com
. Вот мои настройки прокси (снизу httpd.conf)
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPassReverse /socket.io/1/websocket
ws://127.0.0.1:4567/socket.io/1/websocket
ProxyPass /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPassReverse /socket.io/ http://127.0.0.1:4567/socket.io/
ProxyPass / http://127.0.0.1:4567/
ProxyPassReverse / http://127.0.0.1:4567/
Вам понадобится что-то вроде этого:
<VirtualHost *:80>
ServerName subdomain.mydomain.com
ProxyPass / http://localhost:4567/
ProxyPassReverse / http://localhost:4567/
</VirtualHost>
Когда apache получает http-запрос, он должен решить, какая конфигурация применяется. Когда заголовок хоста соответствует ServerName
виртуального хоста он применяет конфигурацию внутри vhost.
Также убедитесь, что у вас есть mod_proxy_wstunnel включен при проксировании веб-сокета.