我的应用程序在https://beta.myapp.com (我强制https到处),现在我想改为https://www.myapp.com 。
我想知道如何正确地redirect每个beta. 请求www. 。
目前www正在指向同一个应用程序,然后应用程序redirect到beta (如果您尝试访问https://www则会出现SSL错误)。
我认为是可行的:
www证书,并创build另一个应用程序(包括beta证书),将其redirect到其他应用程序。 (例如https://beta.myapp.com/about到https://www.myapp.com/about )。 但我的应用程序托pipe在Heroku,我必须支付20美元/月/证书,所以更多的应用程序意味着更多的费用。 www和beta的通配符/多域名证书。 但是我已经有了两张证书,所以我不想再买一张。 还有其他更好的方法吗?
这有点棘手,你没有太多的select。
您可以通过将beta / www(和根域)指向Heroku主应用程序来处理应用程序内的redirect。 但是,为了避免SSL错误,您需要安装涵盖www和beta主机名的证书。
因为Heroku不能让您在同一个应用上关联两个证书,所以您需要购买通配符证书。
另一种解决scheme是将beta指向另一台服务器。 在该服务器上安装证书并将stream量redirect到主应用程序。 不幸的是,您仍然需要在这里安装证书,因为SSL协商发生在HTTPredirect头被发送之前,因此如果您不安装它,您的访问者将在redirect之前看到证书错误(或警告)。 根据浏览器的不同,redirect可能会发生,也可能不会发生。
这两种解决scheme可能需要额外的经济努力,主要是因为在这种情况下Heroku灵活性有限。 一个需要购买通配符证书,另一个需要购买另一个应用程序的新SSL端点(除非您find一种方法将其托pipe在某个便宜的服务器上)。
我可以理解你最近可能已经购买了主站点的证书。 请记住,大多数SSL证书提供商提供30天的退款,您可能想要查看是否能够获得退款并购买通配符。
如果我必须做出select,我可能会使用通配符。
正如Nick所build议的那样,我在使用CNAME之前完成了这个操作。 另一种方式可能(可能不适用于你)是使用通配符证书。
最后一个选项,如果您知道您的备用名称是在您的证书上提供包含所有主机名称的SAN(主题备用名称)。