Допустим, у меня есть 3 URL-адреса, и все они указывают на один и тот же обратный прокси. Я хотел бы, чтобы запросы перенаправлялись на веб-серверы за прокси-сервером на основе заголовка хоста:
webfront1.example.com > reverseproxy.example.com > backend1.example.com
webfront2.example.com > reverseproxy.example.com > backend2.example.com
webfront3.example.com > reverseproxy.example.com > backend3.example.com
На основании того, что я прочитал, я могу настроить reverseproxy.example.com/webfront1 > backend1.example.com, reverseproxy.example.com/webfront2 > backend2.example.com
, и т.д.
Мне интересно, возможен ли прокси на основе заголовка хоста или я полностью использовал неправильный подход.
Для этого вы можете использовать виртуальные хосты на основе имен. Пример конфигурации:
NameVirtualHost *:80
ProxyRequests off
<VirtualHost *:80>
ServerName webfront1.example.com
ProxyPass / http://backend1.example.com/
ProxyPassReverse / http://backend1.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName webfront2.example.com
ProxyPass / http://backend2.example.com/
ProxyPassReverse / http://backend2.example.com/
</VirtualHost>
Обратите внимание, что если вы хотите использовать SSL на reverseproxy.example.com, все усложняется.