Совместное использование статических IP-адресов между виртуальными машинами

Совместное использование статических IP-адресов между виртуальными машинами

С тех пор я использую функцию vhost apache2 для привязки нескольких доменов к одному публичному и статическому IP-адресу.

Сейчас я настраиваю XEN Host с 4 IP и несколькими VM, две из которых являются чистыми веб-серверами. Возможно ли, чтобы эти 2 VM разделяли один публичный IP? У каждой будет набор vhosts на одном и том же публичном IP.

альтернативный текст

Редактировать: Хорошо, а как насчет перенаправления на основе хоста? альтернативный текст

решение1

Если вас интересует только обслуживание http, вам, скорее всего, понадобится установить программный балансировщик нагрузки/обратный прокси-сервер, напримерФунт. Конфигурация на хосте Xen будет (опять же, скорее всего) выглядеть так:

ListenHTTP
            Address xx.xx.xx.xx
            Port    80

            Service
                BackEnd
                    Address ip.of.webserver.1
                    Port    80
                End
                BackEnd
                    Address ip.of.webserver.2
                    Port    80
                End
            End
End

Вам также потребуется настроить правила переадресации и iptables на хосте Xen; возможно, они уже настроены для этого.

решение2

Я не думаю, что вы сможете разделить запросы, идущие на оба сервера, если у них один и тот же IP?

Зачем вам нужно устанавливать их на один и тот же IP?

хорошая диаграмма, хотя

решение3

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

Лучшим вариантом будет либо циклический DNS, где вы можете добавить IP-адреса каждого веб-сервера в одну и ту же запись "A", и запрос для этой записи "A" будет возвращать либо другой адрес каждый раз, либо список адресов для выбора вашими клиентами. Другим вариантом будет добавление какого-либо приложения балансировки нагрузки перед двумя веб-серверами для равномерного распределения трафика на каждый из них (или только на один, а другой в качестве отказоустойчивого). Вы можете сделать это с другим экземпляром Apache с установленным mod_proxy.

Какой из них вы захотите использовать, зависит от того, зачем вам это нужно — говорим ли мы о какой-то вещи высокой доступности/кластеризации?

решение4

Согласно вашей правке, вы можете использовать обратный прокси. Apache может это сделать. Pound — это еще одно решение, которое уже упоминалось.

Связанный контент