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

httpd пересылает трафик с URL-адреса на другой компьютер на том же виртуальном хосте LAN

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