我只是把网站从一个域移到另一个域。 它仍位于AWS Elastic Load Balancer后面的相同服务器上。 我还将负载均衡器上的证书更改为新域的证书。
问题是,所有现有的链接是https://www.old-domain.com – 所以当他们击中负载平衡器,SSL握手失败,所以它不redirect(B / C证书是没有http://newdomain.com )
我想弄清楚如何redirect旧网域的https链接。 看起来最好的select是:
获取主题替代名称(SAN),将所有域放在那里,并将旧域redirect到NGINX conf中。 但是,这是昂贵的!
续订https://old-domain.com的证书,然后在单独的IP上redirect,并在那里redirect。 但这意味着另一个EC2实例,对吧? 咩。
这篇文章似乎谈到了另一个解决scheme,但是我还没有充分理解它: 在AWS ELB中的多个EC2实例上扩展多个SSL域
build议最好的方法来做到这一点?
我很感激!
这可能会帮助你。 AWS证书pipe理器。 https://aws.amazon.com/blogs/aws/new-aws-certificate-manager-deploy-ssltls-based-apps-on-aws/
您可以使用多个主机名(SAN)或通配符创buildSSL。
您也可以享受定价…(免费)
您可以将旧域从ELB中取出,并直接指向nginx,并添加一个新的服务器块。 这可以使用旧的https证书,并发回一个301redirect,将通过ELB。 如果你的服务器有一个公共的IP地址并且可以直接访问,那么这也是一个相当简单的办法,一个新的服务器模块在nginx中有一个位置。
您还可以维护指向同一组后端服务器的第二个ELB。 我为许多领域做了这个。
您甚至可以在不同的ELB上设置运行状况检查,检查旧域或新域是否停机,以及实例本身 。
第二个ELB的缺点是,要花费你20到30美元才能运行。