【问题标题】:How to set up SSL in a load balanced environment?如何在负载平衡环境中设置 SSL?
【发布时间】:2010-10-23 13:31:41
【问题描述】:

这是我们当前的基础设施:

  1. 共享负载平衡器后面的 2 个 Web 服务器
  2. dns 指向负载均衡器
  3. Web 应用在 asp.net 中完成,带有 wcf 服务

我的问题是如何设置 SSL 证书以支持 https 连接。

以下是我的两个想法:

  1. SSL 证书在负载平衡器处终止。负载均衡器后面的安全/不安全通信将被转发到 2 个不同的端口。
    专业人士: 水平扩展时只需要 1 个证书
    缺点: 我有通过检查请求是哪个端口来检查安全或不安全 来自(哪里。我觉得不太对劲

    当 IIS 绑定 2 个不同的端口时,WCF 设计将不起作用
    (according to this)

  2. SSL 证书在每台服务器上都终止?
    缺点:需要添加更多证书才能横向扩展

谢谢

【问题讨论】:

    标签: asp.net wcf infrastructure load-balancing


    【解决方案1】:

    一定要在负载均衡器上终止 SSL!!!后面的任何东西都不应该在外面可见。为什么安全/不安全的两个端口不能正常工作?

    【讨论】:

    • 为了论证起见,如果 unsecure 停留在端口 80 上。并安全转发到随机端口:x。这是否意味着直接访问domain:x 会绕过安全证书?用户可能没有意识到他们正在发送未加密的通信。
    • 用户看不到防火墙后面的地址,因为防火墙充当一种代理——它与后面的机器通信,或者来回路由和转发数据包。 (这不是真的那么正确,但它是对用户将看到的内容的良好描述)
    • 检查 PCI/DSS 标准,因为这会使您容易在网络内被截获流量。
    【解决方案2】:

    您实际上根本不需要更多证书。因为外部看到的 FQDN 是相同的,所以您在每台机器上使用 same 证书。

    这意味着 WCF(如果您正在使用它)将起作用。如果您在消息级别而不是传输级别进行签名/加密,那么在外部负载均衡器上终止 SSL 的 WCF 会很痛苦。

    【讨论】:

    • 似乎这是最好的方法。所以你能提供更多关于设置的细节吗? ssl 在所有盒子上终止?不在域名级别(即负载均衡器?)
    • 当您在一台机器上导入对证书请求的响应时,您将能够使用证书管理 MMC 管理单元导出证书,包括私钥。然后可以将其导入其他框并绑定到 IIS。但是...域名级别是什么意思?您是说负载均衡器响应 *.domain.example 吗?这使事情变得复杂。
    【解决方案3】:

    您很可能不需要两个端口。只需让负载平衡器上的 SSL 虚拟服务器向请求中添加 HTTP 标头并检查即可。这就是我们使用 Zeus ZXTM 5.1 所做的。

    【讨论】:

    • SSL 虚拟服务器是硬件还是负载平衡器上的特定设置?
    • 当您在负载均衡器中设置站点时,您必须指定要侦听的 IP 以及将流量转发到的后端节点 (ip/port)。这种配置作为一个整体,在某些情况下通常被称为虚拟服务器或“VIP”。
    • 嗨@Chris 我知道这是一个旧线程,但我无法在 ZXTM 后面的 IIS 中设置 WCF 应用程序。你能帮我解决这个问题吗?谢谢。
    【解决方案4】:

    您没有 为每个站点获取证书,有通配符证书之类的东西。但它必须安装在每台服务器上。 (假设您使用的是子域,如果没有,那么您可以跨机器重用相同的证书)

    但我可能会将证书放在负载均衡器上,如果不仅仅是为了便于配置。

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2023-04-04
      • 1970-01-01
      • 2012-11-28
      相关资源
      最近更新 更多