Разместите два отдельных веб-сервера на одном IP

В настоящее время у меня есть веб-сервер Ubuntu с настройкой Apache, и он прекрасно работает, я хочу сделать две вещи, я хочу настроить еще два блока, которые будут находиться на одном и том же адресе WAN, но, конечно, иметь отдельные локальные адреса.

Итак, скажем, у меня есть www.example.com в качестве основного сервера, я также хочу, чтобы test.example.com был на другой коробке, а fun.example.com - на третьей.

Как бы я это сделал?

5
задан 20 September 2013 в 03:06

2 ответа

По ссылке, предоставленной Джорджем Курулиасом

Обратный прокси-сервер Apache

Это то, что я искал

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName foo.com

  DocumentRoot /srv/www/default

  <Location "/">
    Order Deny, Allow
    Deny from all
    Allow from all
  </Location>
</VirtualHost>

<VirtualHost *:80>
  ServerName fooa.com

  ProxyPreserveHost on
  ProxyPass / http://server2/
  ProxyPassReverse / http://server2/
</VirtualHost>

<VirtualHost *:80>
  ServerName foob.com
  ServerAlias fooc.com

  ProxyPreserveHost on
  ProxyPass / http://server3/
  ProxyPassReverse / http://server3/
</VirtualHost>

Совершенно то, что я хотел вместе с mod_proxy

0
ответ дан 20 September 2013 в 03:06

Примечание

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

# Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot /www/example1
    ServerName www.example.com

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /www/example2
    ServerName www.example.org

    # Other directives here
</VirtualHost>

Звездочки соответствуют всем адресам, поэтому главный сервер не обслуживает запросы. В связи с тем, что виртуальный хост с ServerName www.example.com находится первым в файле конфигурации, он имеет самый высокий приоритет и может рассматриваться как сервер по умолчанию или основной сервер. Это означает, что если получен запрос, который не соответствует ни одной из указанных директив ServerName, он будет обслуживаться этим первым VirtualHost.

Ответ от http://httpd.apache.org

С уважением.

0
ответ дан 20 September 2013 в 03:06

Другие вопросы по тегам:

Похожие вопросы: