IIS站点应用程序作为其他服务器上另一个应用程序代理

ecfdbz9o  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(235)

我有两台服务器:S1和S2,服务器S2不是公共的,只能从S1访问此服务器。在我的S1服务器上,我希望承载Web应用程序(前端),而在S2上,我希望承载此应用程序的API(后端)。如何在我的IIS站点上配置新应用程序,使其可以将所有请求发送到S2上IIS中承载的另一个应用程序?

期望值

  • 可在https://s1. com上获得WWW应用程序
  • WWW应用程序连接到位于https://s1. com/api的API
  • 发送请求到一个网站--请求-〉到一个网站--响应-〉到一个网站--响应-〉到一个网站。

是否可以在IIS上执行此操作?

6kkfgxo0

6kkfgxo01#

如果我没理解错的话,因为您的服务器S2不是公共的,所以用户不能直接访问S2,只能从S1访问。您希望客户端向s1.com/api发送请求,然后将请求转发到s2.com/api。服务器S2处理完请求后,将响应返回到s1.com/api,然后再将响应返回给客户端。
这需要S1作为反向代理服务器,客户端→ S1(反向代理服务器)→ S2(目标服务器)

按照以下步骤设置反向代理服务器S1:

Web API的代理URL假设端口为服务器s1上的8082,Web API的真实的URL假设端口为服务器s2上的8085(设置不同的端口是为了便于区分,当然也可以设置为默认端口)。
1.下载并安装URL rewrite模块。(必须在ARR之前安装URL重写,因为ARR依赖于URL重写。)
2.下载并安装Application Request Routing模块。
安装后,您应该能够在IIS管理器中看到应用程序请求例程缓存和URL重写功能。

3.打开IIS管理器,双击ARR,点击右侧的“服务器代理设置”,选择启用代理并应用,ARR将成为服务器级代理。

4.选择网站(此处侦听端口8082),然后双击URL重写以打开该功能。

5.单击“添加规则”,选择“反向代理”,然后单击“确定”。在“添加反向代理规则”对话框中,输入s2服务器上Web API的URL,然后单击“确定”。

6.此时会自动生成一条ReverseProxyInboundRule,您可以根据实际情况修改规则。


指令集
7.最后,您可以在浏览器中输入s1 .com/api来存取s2 .com/api
更多的信息你可以参考官方的documentation。希望我的答案能帮助你。

相关问题