IIS forward request(转发请求)

最近部门要开发一个简单的APP,部分数据是现有项目已经存在的,为了方便维护,希望只提供一个交互的入口,并且协议的规则不变。 基于这个需求,有两套解决方案: 1.用代码将现有的api封装一层,对请求数据和返回数据不做任何改变,只是中转,然后和新的数据接口一起部署在一个项目里; 2.用IIS进行请求转发,调用现有接口回应请求,剩余部分开发新的api,部署在一个项目里,用URL Rewrite进行过滤分发。 第一个方案很传统,没什么好评价的,这里主要讲一下第二种方案的实现,第二个方案的好处是可以节省时间成本,需要依赖IIS插件(Application Request Routing + URL Rewrite)。 先下载ARR 和 URL Rewrite 进行安装,使用过程中发现ARR对IIS的“目录浏览”功能有依赖(未验证,如果无法使用,可以查看一下是否安装了“目录浏览”功能): 安装好插件,重新打开IIS 双击IIS根目录 双击Application Request Routing Cache 双击右边的 Server Proxy Settings 勾上 Enable proxy 取消勾选“Reverse rewrite host in response headers”,否则所有的响应内容的host都会被重写为当前站点域名,简单来讲,最直接的影响就是对外部站点的重定向都会失败,所以这里取消勾选。 点击“应用”后,新建一个站点,用来接受请求做转发 双击站点,双击 URL Rewrite -> Add Rules(新建规则) -> Blank rule(空白规则)  Name:填写你的规则名称 Match URL 是匹配Requested URL的规则 host: www.test.com requested url: ?name=michael&age=30 query string: name=michael&age=30 Requested …