IIS7 请求转发到其他服务
编辑项目部署时发现服务器使用ISS网关,IIS默认是没有请求转发功能的。
废了一些时间搜索资料都写得也不够详细明白,但有结果IIS官方提供了请求转发的组件,本篇记录一下最终的解决步骤。
需要两个的插件
ApplicationRequestRouting(请求路由程序)
URLRewrite(URL重写组件)
官方下载地址:
https://www.iis.net/downloads/microsoft/application-request-routing
https://www.iis.net/downloads/microsoft/url-rewrite
百度云下载链接:
https://pan.baidu.com/s/1ebW_PoRWlZHuM5zM-_PQ6A 提取码:8md1
下载后分别安装二个插件,重新打开IIS(安装过程中出错一次,我重启服务器后再次安装解决了)
点击主页,找到IIS分类中的 Application Request RoutingCache 双击打开
打开右边的 Server Proxy Settings 并勾选 Enable proxy 项
双击网站新建站点,打开新建的站点 依次点击 URL Rewrite(URL重写) -> Add Rules(新建规则) -> Blank rule(空白规则)
名称:填写规则名称(随意)
匹配URL:
请求的URL:与模式匹配
使用:正则表达式
模式:^(.*) <--这个就是正则表达式 不懂的自行了解
勾选忽略大小写
条件 -> 添加:
条件输入:{HTTP_HOST}
是否检查输入字符串:与模式匹配
模式:^xxx.com$ <--自行更改自己的外网链接
勾选忽略大小写
操作:
操作类型:重写
操作属性:
重写URL:http://ip:port/{R:1} <-- 项目实际地址 {R:1} 代表匹配URL部分匹配到的请求地址
勾选附加查询字符串
至此请求转发的功能就实现了,你可以自由的改变添加条件来匹配需要拦截的请求路径,这里就不做演示了。
个人对IIS并没有太多研究,搜索资料的过程中了解到IIS还有其他强大的功能,比如负载均衡等有兴趣的伙计自行了解吧。
- 0
- 0
-
分享