Я запускаю два виртуальных веб-сервера (на обоих работает apache2 на debian). У меня только один внешний IP-адрес, но два домена, и я хочу, чтобы домен шел на каждый из серверов.
Я понял, что мне нужен обратный прокси, и включил модули mod_proxy и mod_proxy_http на «основном сервере». Нужно ли мне что-нибудь включать на «вторичном сервере»?
Я тоже понял, что мне нужно кое-что записать в файл виртуального хоста, но что? На первичном сервере у меня есть файл виртуального хоста для одного из доменов и несколько для поддоменов. Я хочу, чтобы domain1.tld перешел на основной сервер (порт 80 перенаправлен на него, так что это работает), а domain2.tld перешел на другой сервер (внутренний ip 192.168.0.x). На него не нужно перенаправлять порты, верно? Итак, что добавить и в какой файл виртуального хоста? Или новый? Другие вопросы предлагают добавить ProxyPass и ProxyPassReverse, но я все равно потерялся, и я просто не понимаю документацию apache.
заранее спасибо
Вы можете посмотреть на использование HAProxy, который очень хорошо справляется с подобными вещами.
Вкратце, вы должны создать третью виртуальную машину, на которой работает HAProxy и которая имеет ваш IP-адрес. Ваша конфигурация HAProxy определит, к какому экземпляру Apache будет отправлен запрос на серверной стороне.
Взгляните на сайт, и если вы хотите попробовать, вы можете задать больше вопросов.
Очень похоже на этот, хотя мне еще не приходилось этого делать, я не уверен
Два домена на одном экземпляре Apache (например, одна физическая машина) с одним IP-адресом - это очень просто и известно как Name Based Virtual Hosts
.
В руководстве по Apache это очень хорошо описано, и даже вы сможете понять смысл этой страницы: http://httpd.apache.org/docs/2.0/vhosts/name-based.html.
Я немного сбит с толку тем, что вы пытаетесь сделать с мод-прокси. Это кажется слишком сложным и без реальной причины. Надеюсь это поможет.
Вы можете запустить более одного сервера и одного домена на одном сервере.
Псевдоним или Vhost будут принимать разные домены на одном основном сервере, поскольку файл конфигурации Vhost устанавливает имя домена и имя сервера, таким образом, один сервер может запускать два домена на одном сервере и IP. Преимущества: на одном сервере работает несколько доменов. Ограничение ресурсов (использование только одного сервера для обслуживания сайтов)
Недостатки:
Если у вас уже есть интенсивная загрузка серверов из основного домена, добавление дополнительных серверов не поможет.
Другое решение: вам нужен балансировщик нагрузки, он идет перед маршрутизацией серверов для перенаправления доменов на каждый IP-адрес за брандмауэром или без одного IP-адреса на локальные IP-адреса.
Вот статья, которую я написал, чтобы настроить хостинг разных доменов http://www.gtwcmt.co.uk/virtual-host-creation-in-apache-windows/