我们公司的负载均衡器上有一份 SSL 证书,用于保护从用户到负载均衡器的 HTTPS 通道。负载均衡器后面的内部流量仅通过 HTTP 传输。
我们有一个新的要求,这意味着要在负载均衡器后面的所有 Web 服务器上安装 SSL 证书,以便使用 HTTPS 保护端到端流量。这非常简单,但不幸的是,有很多主机需要证书。必须访问每个 Web 服务器并设置证书非常耗时。
有没有办法让证书存在于共享位置,并让所有 Web 服务器都使用它?或者有什么方法可以更轻松地管理大量带有证书的 Web 服务器?
答案1
学习 IIS 上有一篇很好的文章,解释了如何使用 PowerShell 获取和安装证书:
PowerShell 管理单元:使用 IIS PowerShell 管理单元配置 SSL
要启用 SSL,需要三个步骤:
- 获取并安装证书
- 在 IIS 中创建 SSL 绑定
- 将证书分配给 IIS 绑定的 IP:端口
以及可选的:
- 在你的网站上实施 SSL
答案2
您可以使用从 LB 到 Web 服务器的自签名证书。
自签名的加密级别并不差,并且在发送给用户的过程中所使用的证书不是自签名的。
使用有效期为 10 年的自签名证书。即使证书过期,只要 LB 接受证书已过期的事实,加密仍然有效。
或者你也许可以通过组策略来推送?除非你的服务器不在 AD 中。
答案3
您可以使证书的私钥可导出(不利于安全,请妥善保管)并导出私钥和证书。然后,您应该能够在 PowerShell 中编写一些脚本(如果您使用的是 IIS 7 或 7.5)以将其导入您想要的任何服务器。