Я запускаю HTTPD на сервере CentOs 6.
У меня есть 2 сервера в одной локальной сети друг с другом. У меня только 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, чего я не вижу, потому что браузер находится не в той же локальной сети, что и два сервера.
Как мне это сделать?
Вот что я обнаружил, что в итоге сработало:
<VirtualHost *:80>
ServerName example2.com
ProxyPreserveHost On
ProxyPass / http://192.168.1.60/
ProxyPassReverse / http://192.168.1.60/
</VirtualHost>
Здесь используется модуль httpd под названием mod_proxy, который был включен по умолчанию при моей установке.