Я пытаюсь настроить IIS на запросы прокси на основе имени входящего хоста. Например, если мой прокси-сервер - это сервер IIS, расположенный на www.proxy.com, запрос на www.google.com.www.proxy.com будет проксироваться на www.google.com.
Я попытался настроить обратный прокси с правилом перезаписи URL, чтобы перезаписать *localhost*
к {R: 1} {R: 2}, но мне не повезло. Из того, что я прочитал, это может быть возможно только в том случае, если я точно укажу, с какими серверами я хочу взаимодействовать заранее, но в моем случае это невозможно (серверы находятся на EC2 и все время динамически создаются и уничтожаются ).
На самом деле это не так сложно настроить. Разве это разумный поступок, разрешив практически любой домен www..com.www.proxy.com для прокси на www.Другое дело .com. У вас должен быть какой-то механизм для ограничения доменов, для которых вы хотите использовать прокси.
Но в любом случае технически вам необходимо настроить обратный прокси со следующим правилом перезаписи URL (с установленным модулем ARR):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="ReverseProxy" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://(.*?)\.www\.proxy\.com" />
</conditions>
<action type="Rewrite" url="{C:1}://{C:2}/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Но вам действительно стоит добавить дополнительные условия, чтобы ограничить домены, для которых вы разрешаете проксирование.