我正在尝试让一个(公共)服务器 A 充当另一个(私有)服务器 B 的反向代理.服务器 B 对服务器 A 可见,即如果我在服务器 A 上并且我在浏览器中键入:
https://serverb.us/folder/application
我看到了应用程序。我希望它,以便如果用户键入:
https://servera.us/folder/application
他看到服务器 B 上的 Web 应用程序。这可能吗?
我尝试在 IIS 管理器中添加重写规则
URL 重写>添加规则>反向代理>
我将入站规则更改为完全匹配:https://servera.us/folder/application(忽略大小写)
重写网址: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 应用程序或文件夹,然后双击身份验证)