Могу ли я разместить два отдельных веб-сервера в локальной сети через один IP-адрес? - PullRequest
6 голосов
/ 16 января 2009

Я веб-программист с домашним веб-разработчиком. У меня есть несколько веб-серверов в моем доме через соединение FIOS. У меня есть свой собственный домен, указывающий на мой маршрутизатор через службу пользовательских доменов dyndns.org.

Мой провайдер предоставляет мне ОДИН статический IP-адрес, который в данный момент позволяет мне настроить мой маршрутизатор для направления исходящего веб-трафика с одного сервера через порт 80 и с другого сервера через порт 8080. Это отстой, потому что многие компании блокируют порт 8080 в наши дни в результате чего некоторые из моих корпоративных клиентов не смогли подключиться ко второму веб-серверу.

Можно ли как-нибудь направить обычный веб-трафик старого порта 80 на два отдельных веб-сервера внутри моей сети, используя два отдельных имени хоста?

Например. Я хочу, чтобы http://webserver1.mydomain.com подключился к одному веб-серверу в моей сети, а http://webserver2.mydomain.com - к другому веб-серверу, и оба набора трафика обслуживались через порт 80.

Это вообще возможно? Если нет, могу ли я взломать программную маршрутизацию трафика с одного веб-сервера прозрачно на другой?

Для записи я использую стек IIS 7.0 для MS Windows Server 2008, маршрутизатор D-link DIR-655 и использую DynDNS для нужд моего домена.

Ответы [ 6 ]

7 голосов
/ 16 января 2009

Название решения, которое вы ищете, называется обратным прокси-сервером.
Существуют реализации в apache , squid и Mircosoft ISA Server .

Если ты авантюрный, ты всегда можешь бросить свой? или измените что-то вроде this в соответствии с вашими потребностями.

У меня были клиенты, использующие обратный прокси-сервер squid большого объема, и он отлично работает!

Это имеет тенденцию портить ваши веб-журналы на веб-сервере, хотя весь трафик будет исходить от вашего внутреннего прокси-хоста, который выполняет перенаправление / перезапись.

2 голосов
/ 16 января 2009

Да, используйте для этого модуль перезаписи IIS7

1 голос
/ 16 января 2009

Возможно, вы сможете настроить apache с двумя vhosts, а затем в каждом из их блоков установить прокси соответствующего сайта в вашей локальной сети:

In vhost 1:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://192.168.0.49/
ProxyPassReverse / http://192.168.0.49/

В vhost 2:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://192.168.0.50/
ProxyPassReverse / http://192.168.0.50/

Вам понадобится mod_proxy , и я даже не уверен, что это сработает

1 голос
/ 16 января 2009

Какая-то маршрутизация на уровне приложений может быть вашим выбором. В этой статье рассказывается, как это сделать на ISA-сервере (используя веб-правила)

http://www.codinghorror.com/blog/archives/000984.html

0 голосов
/ 21 декабря 2012

Это старый пост, но у меня та же проблема. Verizon дает только 1 IP. Если вы хотите больше, вы должны использовать их бизнес-план примерно за 100 долларов в месяц. У меня есть Redhat и Windows 2008r2 домашний сервер работает. У меня есть 2 доменных имени godaddy, оба указывают на мой адрес verizon wan ip. Мой сервер Windows использует порт 80 для mysite1.com и мой порт Linux 8080 для mysite2.com. Я не использую DYN, потому что я хочу использовать свои собственные доменные имена. Я сделал заголовок узла сайта IIS, чтобы направить mysite2.com на мою коробку linux. Оба домена работают в сети, но ввод в mysite2.com направляет на mysite2.com:8080 в окне URL браузера. Я не думаю, что есть способ скрыть 8080. По крайней мере, не правильно. Я работаю в правительственном агентстве, и они блокируют сайты, которые используют порт 8080. Они также блокируют домены, которые пересылаются с маскированием / фреймом. Таким образом, маскировка 8080 приведет к блокировке вашего сайта. Лучшее решение для Verizon - предложить 2 IP-адреса по разумной цене таким людям, как мы!

0 голосов
/ 16 января 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...