IIS: IIS reverse proxy

Привет.

Задача: При открытии страницы http://mypage.ru веб сервер обращался к другому веб серверу, получал от него контенти и выдавал его за свой. Другими словами обратный прокси (Reverse proxy). К примеру как сделано  тут http://alexwhite.ru/proxy/

 

 

Решение: Для этого понадобится установить IIS. Это можно сделать «прокликая»  или из коммандной строки.

servermanagercmd -install Web-Server -a

Далее, нужно установить 2 компанента для IIS, URL Rewrite и Application Request Routing (ARR). Первый можно скачать и установить, а второй доступен только через Web Platfom Installer (WPI). Если нужно писать сценарий автоматической установки, то это затруднит работу. Выход из этого нашёлся быстро, это WebPICMD. WPI, но с командной строкой. Устанавливая ARR, WebPICMD подтянес  зависимость URL Rewrite. Тем самым облегчив малость работу. Я устанавливаю только ARR

start /wait C:\WPI_CMD\WebPICMD\WebPICMD.exe /Install /Products:ARR /log:c:\windows\temp\WPI_CMD_LOG.txt  /AcceptEula

После установки можно просмотреть лог.

Далее настраиваем перенаправление, это можно сделать гуём, копированием подготовленного web.config и  возможно appcmd. Вот пример Web.config:

<?xml version=»1.0″ encoding=»UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=»ReverseProxyInboundRule1″ stopProcessing=»true»>
<match url=»(.*)» />
<action type=»Rewrite» url=»http://alexwhite.ru/?p=729{R:1}» />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Помещаем этот конфиг в корень сайта на котором хотим сделать проксирование, ребутаем IIS.

Далее нужно включить Proxy. Это можно сделать в «гуе» или

appcmd set config -section:system.webServer/proxy /enabled:»True» /commit:apphost

 

Результат: В результате при от крытии этого сайта будет происходить проксирование, таким образом можно использовать в сценарии для организации доступа к определённому сайту, определённому кругу людей в офисе, кому запрещён доступ в интернет.

Полезные ссылки:

http://www.iis.net/download/urlrewrite

http://www.iis.net/download/applicationrequestrouting

http://learn.iis.net/page.aspx/1072/web-platform-installer-v4-command-line-webpicmdexe-preview-release/

http://blogs.msdn.com/b/carlosag/archive/2010/04/02/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx

Об авторе Alex

Работаю Администратором. В основном Windows. Специализируюсь на Hyper-V, поддержке продуктивных сред и во всём помогает POSH. Малость Sharepoint. Чуть чуть работаю с железом
Запись опубликована в рубрике Windows, Администрирование с метками , . Добавьте в закладки постоянную ссылку.

Добавить комментарий