我正在设置一个运行于https://本地主机:9443/在 Windows 2008 R2 上,我想将其置于反向代理之后。我已经安装了 Microsoft 的 Advanced Request Routing 2 包,在主服务器节点上,我看到了一个名为“高级请求路由缓存”的新选项。从我看过的所有教程来看,我应该能够:
- 开启高级请求路由缓存
- 点击“服务器代理设置”
- 勾选“启用代理”
- 添加 URL 重写规则,其中 URL 指向我的 tomcat 应用程序
我尝试在服务器节点级别和站点级别设置 URL 重写规则,但每次尝试访问反向代理 URL 时都只会得到 404。
我看到有一个名为“使用 URL 重写检查传入请求”的额外选项,但如果我选中该框,它就会要求输入代理服务器。无论我输入什么,服务器都会开始对所有请求(而不仅仅是我想要代理的请求)响应 502。
是我遗漏了什么吗?还是 IIS 7.0(所有教程似乎都是针对其编写的)和 7.5 之间的工作方式不一样?
答案1
“localhost” 是否在同一台服务器上?例如,Tomcat 是否在端口 9443 上,而 ARR 是否在端口 80 上,是否在同一台服务器上?
以下是需要设置的关键事项:
- 创建一个服务器场。如果在同一个框中,则添加一个指向“localhost”的节点。
- 如果您选择“是”来创建 URL 重写规则,它将捕获所有流量并转发到该服务器场。如果可以,则选择“是”。
- 如果您在上一步中没有创建 URL 重写规则,请转到 IIS 的顶层,转到 URL 重写,然后创建新规则。使用 {HTTP_HOST} 作为域名,或使用 {SERVER_ADDR} 作为 IP 绑定。将操作设置为使用您在上面第一步中设置的服务器场。
- 默认网站应该捕获所有流量,而这些流量又会被全局级别的 URL 重写规则捕获。