iis-8 - 使用 SSL 的 IIS ARR 负载平衡配置
问题描述
这是我的设置。我有 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,我终于找到了问题所在。我删除了“默认网站”。然后为了恢复 ARR,我添加了一个默认网站。这允许所有通配符 HTTP 流量通过服务器场。但是,当我尝试添加默认 HTTPS 绑定时,IIS 配置管理控制台会强制您输入域名,如果您想要“默认”实现,这将不起作用。
所以为了解决这个问题,我简单地手动编辑了 applicationHost.config 文件并从绑定条目中删除了域名:
<binding protocol="https" bindingInformation="*:443:" sslFlags="3" />
就是这样......幸福!
推荐阅读
- python - AttributeError:模块“keras.backend”没有属性“image_dim_ordering”
- python - Pyside2 QQuickView 没有rootContext?
- angular - 如何自定义 kendo-grid-checkbox-column?
- python - 使用 Python 正则表达式,如何在结果中没有空字符串的情况下将此字符串拆分为多个分隔符?
- ios - 模拟器文件交互:“操作无法完成。无效参数 - 无效参数”
- report - SSRS 单个字符串值中的两种字体颜色
- apache-flink - 有没有办法确定运行 Flink 作业所需的总作业并行度或插槽数(在运行之前)
- python - Scrapy爬虫跟踪包含关键字的链接
- javascript - 如何从我的 Json 对象中获取所有 ID、名称值和位置到数组中
- azure-devops - ##[错误]在以下环境变量中找不到版本号数据:BUILD_BUILDNUMBER