IIS 反向代理和 URL 重写不起作用

IIS 反向代理和 URL 重写不起作用

我执行了以下步骤:

  1. 安装了 IIS 所需的所有功能(URLRewrite 2.0、ARR 等)
  2. 在 VisualStudio 中创建默认 MVC Web 应用程序
  3. 将此 Web 应用程序作为新网站添加到 iis(我可以通过以下方式访问它http://localhost
  4. 已打开此站点的 URLRewrite
  5. 点击Add Rule(s)...
  6. 选择Reverse Proxy
  7. 输入google.com将转发 HTTP 请求的服务器
  8. 未选中Enable SSL Offloading
  9. 点击OK

当我访问时,http://localhost我仍然有自己的 web 应用程序,而不是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/sthgoogle.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>

但它仍然不起作用。

相关内容