У меня есть 2 физических сервера, на каждом из которых работает сервер Microsoft Windows, и на каждом размещено несколько веб-сайтов. Можно ли запустить оба сервера на одном IP-адресе? и как это делается?
Это возможно, но это будет беспорядочно и увеличит количество единичных точек отказа.
Я предполагаю, что у вас есть какое-то соединение с одним IP-адресом к сайту, на котором расположены серверы, причем серверы находятся внутри какого-то брандмауэра / устройства NAT, которые сами имеют адреса RFC1918. Останови меня, если что-то не так.
Вы можете настроить третий внутренняя машина, которая запускает прокси на порту 80, который, в свою очередь, знает о двух внутренних серверах и сайтах, которые находятся на каждом (обычно через внутренний DNS). Затем вы перенаправляете порт 80 внешнего IP-адреса на порт 80 этого прокси, и он заботится о приеме клиентских запросов, их удовлетворении от соответствующего существующего сервера и возврате данных клиенту.
Позвольте мне пояснить: это ужасное и грязное решение, и вы не должны этого делать. Более того, я почти уверен, что это невозможно. без своего рода устройство с учетом уровня 4. Но да, это можно сделать.
Вы можете сделать 2 вещи:
Вы можете получить балансировщик нагрузки (или настроить циклический перебор в Windows) и, например, настроить пул «Веб-обслуживание» и добавить оба сервера в пул.
Затем каждый запрос сначала попадет на плавающий IP-адрес, который вы присоедините к пулу. Вы можете выбрать, как должна работать балансировка нагрузки, в зависимости от ЦП, количества HTTP-соединений и т. Д.
Вы можете использовать перенаправление DNS, то есть 2 физических хоста с разными IP-адресами, но с одним и тем же хостом, тогда при каждом запросе он будет переходить на один из серверов.
Я считаю, что первый вариант для вас лучший. Второй вариант будет работать только в локальной сети, поэтому я считаю его бесполезным для вас.