Я выполняю HTTPD на сервере CentOs 6.
У меня есть 2 сервера на той же LAN друг как друг. У меня только есть 1 IP-адрес. У меня есть 2 домена, указывающие на маршрутизатор, и я хочу example1.com, обработанный сервером 1 и example2.com, обработанный сервером 2. Маршрутизатор может вперед ПОРТИРОВАТЬ 80 на сервер 1. Мне нужен сервер 1 для передачи трафика, направленного на example2.com к серверу 2.
Это не должно вмешиваться в другие виртуальные цели хоста, которые похожи на это:
<VirtualHost *:80>
DocumentRoot /var/www/html/example1.com
ServerName example1.com
</VirtualHost>
Я попробовал его с помощью mod_rewrite как это:
<VirtualHost *:80>
ServerName example2.com
RewriteEngine On
RewriteRule .* http://192.168.1.60$0 [P]
</VirtualHost>
но когда я загружаю example2.com в браузере, он пытается загрузиться 192.168.1.60, который я не вижу, потому что браузер не находится на той же LAN как эти 2 сервера.
Как я делаю это?
Вот что я обнаружил, что в итоге сработало:
<VirtualHost *:80>
ServerName example2.com
ProxyPreserveHost On
ProxyPass / http://192.168.1.60/
ProxyPassReverse / http://192.168.1.60/
</VirtualHost>
Здесь используется модуль httpd с именем mod_proxy, который был включен по умолчанию при моей установке.