【问题标题】:Multiple certificates for HTTPS on a software NLB'd IIS7 cluster软件 NLB 的 IIS7 群集上的 HTTPS 多个证书
【发布时间】:2009-11-22 01:09:18
【问题描述】:

我们目前正在尝试设置具有多个证书的 HTTPS。我们取得了一些有限的成功,但我们得到了一些我无法理解的结果......

基本上,我们的 NLB 上有两台服务器(10.0.51.51 和 10.0.51.52)和分配给 NLB 的两个 IP(10.0.51.2 和 10.0.51.4),我们让 IIS 使用不同的通配符监听这两个 IP证书(为了避免提供公共 IP,假设 A:443 路由到 10.0.51.2:443 和 B:443 路由到 10.0.51.4:443)。我们还有一个 Cisco 路由器,它使用端口地址转换将端口 443 从两个外部 IP 路由到这些内部 NLB IP。

奇怪的是,如果我们请求 A:443 或 B:443,这可以工作,但如果您在内部访问 10.0.51.51:443、10.0.51.52:443、10.0.51.2:443 或 10.0.51.4:443您总是获得相同的 SSL 证书。此证书过去分配给 *:443,但我们已确保 IIS 中不再定义 * 绑定。

当我在删除所有不相关的内容后运行“netsh http show sslcert”时:

IP:port                 : 0.0.0.0:443 
Certificate Hash        : <Removed: Cert 1>

IP:port                 : 10.0.51.2:446 
Certificate Hash        : <Removed: Cert 3 - Another site>

IP:port                 : 10.0.51.3:446 
Certificate Hash        : <Removed: Cert 3 - Another site>

IP:port                 : 10.0.51.4:443 
Certificate Hash        : <Removed: Cert 2>

这告诉我 * 绑定仍然在那里,这有点奇怪,但我不明白为什么这会阻止另一个工作(或者更奇怪的是为什么通过路由器的请求会工作) .

这让我想知道它是否实际上将请求视为机器的 IP 而不是 NLB IP,但不幸的是,我们的开发环境只是一个服务器,它减少了我可以对此进行的试验/错误的数量(因为所有我可以在实际环境中进行测试),而无需说服管理层为测试环境购买更多服务器 - 这是我正在尝试的事情。

有人知道吗:

  1. 为什么内部路由器和通过路由器之间存在差异?
  2. 为什么内部请求获得了错误的证书?
  3. 我该如何解决这个问题,以便我们在双方都获得相同的行为?

【问题讨论】:

    标签: networking iis-7 https ssl-certificate


    【解决方案1】:

    我最终找到了问题所在。将此作为对落入同一陷阱的其他人的提示...

    问题是由我们在 IIS 服务器上使用共享配置模型引起的。设置 HTTPS 绑定时,这似乎只是将它实际绑定在您管理它的盒子上(让另一个完全未绑定)。由于我们的 * 绑定仍然存在,它在我们没有通过 UI 执行的服务器上捕获它,只是让我们获取共享配置。

    由于路由器导致我们的内部请求转到一台服务器,而我们的外部请求转到另一台服务器,单亲和 NLB 的糟糕运气让我们走上了花园之路。

    我们最终通过在两台服务器上运行“netsh http show sslcert > certs.txt”并比较输出来发现这一点。

    接下来我们的计划是不再使用 IIS UI 进行 SSL 配置,而是按照以下步骤操作:

    1. 在每台服务器上安装证书。
    2. 运行 SSL 端口的命令行绑定“netsh http add sslcert ipport=?:?certhash=?appid=?” (ip:port 很容易计算,可以从服务器证书页面的“证书哈希”部分复制 certhash,可以从 netsh http add sslcert 上的现有 IIS 绑定复制 appid)
    3. 直接编辑 IIS ApplicationHost.config 文件以添加绑定,而不涉及 UI。

    我们的理解是,这将防止此错误再次发生。

    【讨论】:

      猜你喜欢
      • 2014-06-19
      • 2021-03-08
      • 1970-01-01
      • 2021-03-02
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多