使用 SSL 的 IIS ARR 负载平衡配置

IIS ARR load balanced config with SSL

这是我的设置。我有 4 台服务器

ARR
Node1
Node2
Node3

我已将节点设置为使用共享配置,并将 ARR 框设置为具有中央证书存储(遵循 msdn 上的文档)。根据标准 IIS 安装,ARR 框中有一个 DefaultWebsite。它有一个匹配所有 HTTP 流量的绑定(即没有指定域)。还有一个 ARR 规则(默认设置)将所有请求指向我的服务器场。对于正常的 HTTP 流量,一切都运行良好,但是当我尝试 HTTPS 时,请求失败(浏览器给出 ERR_CONNECTION )。我一直坚持所有的默认设置,一点也不高兴。我有多个站点和多个证书,因此我确保节点上的所有 HTTPS 绑定都设置为使用 SNI 和 CCS。 HTTPS 仍然不起作用。但是,如果我在 ARR 框上添加 HTTPS 绑定,请求就会正确通过。

确定这种行为不正确?我无法在 ARR 盒上管理 https 绑定,然后通过共享配置设置管理所有其他绑定?我的印象是 ARR 盒甚至不需要配置单个站点,它应该简单地接收请求、匹配 ARR 规则然后委托给其中一个节点?

我是不是遗漏了什么,如有任何帮助,我们将不胜感激

我认为这可能与 SSL 卸载有关。当我禁用它时,我收到错误 502 响应。

会不会跟压缩有关?我使用过滤器压缩所有响应,但肯定连 http 流量也会失败?

所以早上看起来总是更好。经过几个小时的谷歌搜索和几次重新安装 IIS,我终于找到了问题所在。我删除了 "Default Website"。然后为了让 ARR 备份,我添加了一个默认网站。这允许所有通配符 HTTP 流量通过服务器场。但是,当我尝试添加默认 HTTPS 绑定时,IIS 配置管理控制台会强制您输入域名,如果您想要 "default" 实现,这将不起作用。

所以为了解决这个问题,我简单地手动编辑了 applicationHost.config 文件并从绑定条目中删除了域名:

<binding protocol="https" bindingInformation="*:443:" sslFlags="3" />

就是这样....幸福!

我在将带有 multi-sites 的单个代理配置迁移到 ccs + 共享配置服务器时也遇到了这个错误。

碰巧默认网站配置没有正确导入,并且 https 绑定没有分配证书。 我分配了一个证书,错误消失了。