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

Запуск нескольких общедоступных веб-серверов на одном IP-адресе

У меня есть три отдельных веб-сервера с тремя разными внутренними IP-адресами в сети только с одним общедоступным IP-адресом. Каждый веб-сервер имеет ограничения безопасности, так что я не могу просто запустить все свои веб-сайты на одном веб-сервере. Все работают под управлением Apache.

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

site1.domain.com

site2.domain.com

site3.domain.com

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

Возможны ли такие вещи (1) и (2) легко ли их реализовать? Я использую Ubuntu Server 9.04.

Это называется обратным прокси, вы можете перенаправить весь трафик на порт 80 на один сервер Apache, настроить 3 vhost (1 на поддомен), а в 2 виртуальных хостах, обрабатывающих нелокальный веб-сайт, используйте Apache ProxyPass директива, указывающая apache загружать контент с другого сервера.

nginx также может действовать как обратный прокси. Вы можете перенаправить весь запрос на nginx, тогда nginx загрузит контент на один правильный сервер в зависимости от поддомена.

Я бы использовал функцию прокси-сервера Apache, с моей точки зрения, это проще в настройке.
Вы также можете запустить 4-й сервер apache, который будет действовать только как обратный прокси. В этом случае все 3 виртуальных хоста будут использовать proxypass для получения контента с нужного сервера.

Видеть http://www.raskas.be/blog/2006/04/21/reverse-proxy-of-virtual-hosts-with-apache-2/ Например, ваш случай - это то же самое, что и у вас третий поддомен (так что вам нужен еще 1 vhost).