Назад | Перейти на главную страницу

Пересылка заголовков хоста

У меня вопрос по пересылке hostheader внутри сети.

Моя настройка такова: - На передней панели у меня есть маршрутизатор Linksys - За маршрутизатором у меня есть 3-4 тестовых веб-сервера с разными настройками - Я нахожусь в среде Windows

Я хочу, чтобы поддомен AF / CNAME следовал через маршрутизатор на разные серверы. Например. У меня есть "website1.domain.com" и "website2.domain.com", и я хочу, чтобы website1 пересылал на мой testwebserver 1, а website2 пересылал на мой testwebserver 2.

В моей текущей настройке я могу сделать это в маршрутизаторе, но я обрабатываю только порты, поэтому в результате весь трафик на 80-м порту должен идти на один сервер. Это проблема, потому что тогда я могу показывать только один веб-сервер за раз.

Я хотел бы, чтобы я мог установить какое-то программное обеспечение на Windows-сервере, чтобы весь трафик проходил через него, чтобы было легко настроить новые переадресации.

У кого-нибудь есть вклад?

С уважением, Томас

Существует стороннее программное обеспечение для Windows (IIS), которое, помимо прочего, отлично справляется с этой задачей: Перезапись ISAPI.

ISAPI Rewrite - это мощный механизм управления URL-адресами, основанный на регулярных выражениях. Он действует в основном как mod_Rewrite Apache, но разработан специально для Microsoft Internet Information Server (IIS). ISAPI Rewrite - это фильтр ISAPI, написанный на чистом C / C ++, поэтому он работает очень быстро. ISAPI_Rewrite дает вам свободу выйти за рамки стандартных схем URL-адресов и разработать свою собственную схему.

Я использовал его для разных целей на наших серверах, и он работал очень хорошо. Найдите "Прокси". Здесь документация для правила RewriteProxy.

Редактировать:

Вы можете использовать эти правила

RewriteCond %{HTTP_HOST} ^mydomain.com$ 
RewriteProxy ^(.*) http://local-server-ip/appdir-for-domain/$1 [H,A,L]

RewriteCond %{HTTP_HOST} ^myotherdomain.com$ 
RewriteProxy ^(.*) http://local-server-ip/appdir-for-otherdomain/$1 [H,A,L]

или что-то вроде этого:

RewriteCond %{HTTP_HOST} ^mydomain.com$ 
RewriteProxy ^(.*) http://mydomain.com.intranet$1 [H,A,L]

RewriteCond %{HTTP_HOST} ^myotherdomain.com$ 
RewriteProxy ^(.*) http://myotherdomain.com.intranet$1 [H,A,L]

Если вы хотите придерживаться материалов MS, то ISA Server может это сделать. Это дорогое решение, хотя иногда вы можете найти ISA на ebay по разумным ценам. Избегайте ISA 2000, который является стандартным, и используйте ISA 2004 или ISA 2006.

В качестве альтернативы это может сделать любой обратный прокси. Дешевым и надежным решением будет SQUID, хотя конфигурация может показаться нам, ребятам из Windows, излишне извилистой. Я использовал SQUID, и он очень хорошо работает.

JR

Бросьте туда apache, используйте mod_proxy для пересылки куда угодно и что угодно.