IIS 8.5 如何使用 URL Rewrite 设置反向代理

IIS 8.5 How to set up reverse proxy with URL Rewrite

我正在尝试让一个 (public) 服务器 A 充当另一个(私有)服务器 B 的反向代理。服务器 B 对服务器 A 可见。即,如果我在服务器 A 上我在浏览器中输入:

https://serverb.us/folder/application

我看到了申请。我想要它,以便如果用户键入:

https://servera.us/folder/application

他看到服务器 B 上的 Web 应用程序。这可能吗?

我尝试通过

在 IIS 管理器中添加重写规则

URL 重写 > 添加规则 > 反向代理 >

我将入站规则更改为完全匹配:https://servera.us/folder/application(忽略大小写)

重写 URL:https://serverb.us/folder/application(取消选中追加查询字符串)

但它什么也没做。我错过了什么吗?

根据你的描述,我建议你可以尝试使用下面的url重写规则:

<rewrite>
    <rules>
        <rule name="Reverse Proxy to b" stopProcessing="true">
            <match url="^folder/application/(.*)" />
            <action type="Rewrite" url="https://serverb.us/folder/application/{R:1}" />
        </rule>
<rewrite>

原来是身份验证的问题。我必须确保两个应用程序在 IIS 管理器中具有相同的身份验证设置(单击 IIS 管理器中的 Web 应用程序或文件夹,然后双击身份验证)