【发布时间】:2015-11-18 15:46:29
【问题描述】:
我是这个 IIS 配置的新手,所以我的要求是根据 URL 的内容执行反向代理,下面是关于我要实现的目标的简要说明,
我们有 3 个服务器,
- 公共服务器:public.abc.com
- Intranet Web 服务器:WebServer.xyz.com
- 内网 API 服务器:APIServer.def.com
因此,每当请求到达 公共服务器(即 public.abc.com)并且请求类似于“public.abc.com/?1257#/test”时,它应该被定向到Intranet Web 服务器(即 WebServer.xyz.com)以及查询字符串部分
而如果对 公共服务器 的请求类似于“public.abc.com/api/valid”,那么该请求应该被定向到 Intranet API 服务器(即APIServer.def.com) 以及“/api/valid”部分,
我尝试在 IIS 8.5 中使用 ARR 和 URL 重写来配置它,方法是将 2 个不同的规则与 patterns 编写为“(.)\?(.)”和“ (.)(api)(.)" 分别用于 Web 服务器和 API 服务器,
但似乎只有在禁用任何一个规则并且它正在完美地完成预期时,配置才有效, 当这两个规则都启用时,重新路由失败并且我看到一个默认的 IIS 起始页,
我也尝试在 URL 重写中使用条件,但它不起作用
请帮我解决这个问题,
感谢和问候, 乙
【问题讨论】:
标签: url-rewriting cross-domain reverse-proxy iis-8.5 arr