一直用Nginx反向代理功能,实现API及多站点整合。IIS的反向代理功能实在弱,但前两天有个客户的系统只有一台云服务器,且由于部分功能使用.Net开发故只能使用Windows Server,虽然也可以使用Nginx的Windows版本,但人家Nginx自己都说了不建议在windows生产环境下使用Nginx,那么就只能试试IIS可否实现反向代理了。
安装ARR和URL Rewrite组件
也不知道为啥IIS都出到8.x了就是不自带反向代理组件,官方版本还不好找(主要是名字不统一)。以下是ARR和URL Rewrite组件的官方下载地址:
ARR: https://www.iis.net/downloads/microsoft/application-request-routing
URL Rewrite: https://www.iis.net/downloads/microsoft/url-rewrite
安装完成后:
配置ARR
如下两图配置:
配置反向代理
以上配置,实现了将http://xx.xxx.com/eacmir/xxx……xxx 反向代理到http://127.0.0.1:8088/eacmir/xxx……xxx
或者在Web.config中直接编辑如下节点
<configuration>
<!-- …… -->
<system.webServer>
<rewrite>
<rules>
<rule name="eacmir">
<match url="^eacmir(.*)$" />
<action type="Rewrite" url="http://127.0.0.1:8088/eacmir/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>