1

Это, очевидно, возможно, потому что это то, что делают все веб-фермы, однако я не веб-ферма.

У меня есть довольно хорошие технические возможности, прежде всего, для Windows, но я бы с радостью установил простую Linux-коробку для достижения этой цели.

На данный момент у меня есть интернет-роутер, который пропускает трафик на одну машину через разные порты. Это прекрасно работает, и я могу запускать несколько веб-сайтов на одном компьютере, однако я хотел бы иметь возможность перехватывать трафик и отправлять его на отдельные компьютеры на основе доменного имени.

Reporting.example.com => PC1
Demos.example.com => PC2
MySite.example.com => PC1
Three.example.com => PC3
(all domain obviously resolve to my single internet facing IP address).

Могу ли я получить маршрутизатор, который будет делать это (я знаю о переадресации портов и т.д., Но они работают только с портами), могу ли я установить промежуточный пакет linux/XP с пересылкой? Есть ли простое решение?

2 ответа2

3

Это не единственный или лучший способ, но я бы так и поступил. Поправьте меня, если я неправильно понял какие-либо факты в вашем вопросе

  1. Маршрутизатор держит WAN IP. Если ваш маршрутизатор позволяет указывать имя хоста для сопоставления ip, вы можете попытаться добавить его, сопоставив каждый домен с внутренним IP-адресом вашей сети.

  2. Если маршрутизатор не может этого сделать, вы можете настроить обратный прокси-сервер в одной системе для пересылки трафика по доменам во внутренние системы. Это удобно, так как вы также можете использовать его для восстановления после отказа.

Вот пример конфигурации vhost apache в качестве обратного прокси.

ServerName Demos.example.com
ProxyPreserveHost On
ProxyTimeout 5400
ProxyPass / http://LAN_IP1 max=20 ttl=5000 retry=300
ProxyPassReverse / http://LAN_IP1/

п.с. Вам не нужно иметь выделенный обратный прокси-сервер, вы можете использовать одну из существующих систем для этого, и это может обслуживать один домен локально и передавать прокси другие домены. Эта конкретная система должна быть той, на которую маршрутизатор перенаправляет весь веб-трафик.

1

Решение Vangels работало отлично, я разъяснил здесь для всех остальных.

Это должно идти в файле http.conf

<VirtualHost *:80> 
 ServerName Demos.example.com
 ProxyPreserveHost On
 ProxyTimeout 5400
 ProxyPass / http://LAN_IP1 max=20 ttl=5000 retry=300
 ProxyPassReverse / http://LAN_IP1/
</VirtualHost >

Вам также необходимо включить следующие модули

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .