通过弹性负载均衡器传递多个 https 域

通过弹性负载均衡器传递多个 https 域

我刚刚将网站从一个域移至另一个域。它仍位于 AWS Elastic Load Balancer 后面的同一台服务器上。我还将负载均衡器上的证书更改为新域的证书。

问题是,所有现有的链接都指向https://www.old-domain.com——因此当他们到达负载均衡器时,SSL 握手会失败,因此它不会重定向(因为证书不适用于http://newdomain.com

我正在尝试找出如何重定向旧域名的 https 链接的选项。看起来最好的选择是:

  • 获取主题备用名称 (SAN),将所有域名放在那里,并在 NGINX conf 中重定向旧域名。但是,这很昂贵!

  • 续订证书https://old-domain.com并将其放在单独的 IP 上并重定向到那里。但这意味着另一个 EC2 实例,对吧?嗯。

  • 这篇文章似乎讨论了另一种解决方案,但我还没有充分理解它:在 AWS ELB 中的多个 EC2 实例上扩展多个 SSL 域

关于如何最好地实现这一目标,您有什么建议吗?

我很感激!

答案1

这可能会对您有所帮助。AWS 证书管理器。 https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/

您可以创建具有多个主机名 (SAN) 或通配符的 SSL。

您还可以享受定价......(免费)

答案2

您可以将旧域名从 ELB 中取出,并使用新的服务器块将其直接指向 nginx。这可以使用旧的 https 证书,并返回将通过 ELB 的 301 重定向。只要您的服务器具有公共 IP 并且可直接访问,这也相当容易实现,即在 nginx 中有一个位置的新服务器块。

答案3

您还可以维护指向同一组后端服务器的第二个 ELB。我对许多域都这样做。

你甚至可以在不同的 ELB 上设置健康检查,检查旧域或新域是否关闭,而不是实例本身

第二个 ELB 的缺点是运行它每月需要花费 20 到 30 美元。

相关内容