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

Обратный прокси IIS и перезапись URL не работают

Я сделал следующие шаги:

  1. Установлены все необходимые функции IIS (URLRewrite 2.0, ARR, ...)
  2. Создано веб-приложение MVC по умолчанию в VisualStudio
  3. Добавлено это веб-приложение в качестве нового сайта в iis (я могу получить к нему доступ через http://localhost)
  4. Открытый URLRewrite для этого сайта
  5. Нажал Add Rule(s)...
  6. Выбрал Reverse Proxy
  7. Поступил google.com как сервер, на который будут пересылаться HTTP-запросы
  8. Не отмечен Enable SSL Offloading
  9. Нажал OK

Когда я получаю доступ http://localhost У меня все еще есть собственное веб-приложение, а не google.com. В моем web.config У меня есть:

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{CACHE_URL}" pattern="^(https?)://" />
            </conditions>
            <action type="Rewrite" url="{C:1}://google.com/{R:1}" />
        </rule>
    </rules>
</rewrite>

Затем я попытался добавить более полезное правило: переписывание localhost/google/sth к google.com/search?q=sth. Я изменился web.config:

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="^google/(.*)" />
            <conditions>
                <add input="{CACHE_URL}" pattern="^(https?)://" />
            </conditions>
            <action type="Rewrite" url="{C:1}://google.com/search?q={R:1}" />
        </rule>
    </rules>
</rewrite>

И все равно не работает.