Назад | Перейти на главную страницу

Как выполнить прокси-запросы к поддомену на другой порт на том же IP-адресе?

Я использую 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 включен при проксировании веб-сокета.