我在 IIS7 中使用 ARR 和重写模块设置了一个非常简单的反向代理,它接收 IP 上的所有流量并将其路由到在不同服务器上运行的不同 IP。
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{CACHE_URL}" pattern="^(https?)://" />
</conditions>
<action type="Rewrite" url="{C:1}://1.1.1.1/{R:1}" />
</rule>
这一切对于 http:80 都运行良好,但对于 HTTPS:443 流量却不起作用。目标服务器上设置了 SSL 证书,但代理服务器上没有。有没有办法让它工作,而无需在代理服务器上安装 SSL 证书?
答案1
如果代理上没有 SSL,您的 ARR 服务器甚至无法读取请求标头,包括 HOST 和请求的 URL。它只能盲目地将所有流量重定向到 Web 层服务器。查看 Won Yoo 关于 ARR 和 SSL 卸载(和非卸载)的博客文章。这个人写了 ARR。http://blogs.iis.net/wonyoo/archive/2008/07/10/ssl-off-loading-in-application-request-routing.aspx