redirecthttpsurl

我的应用程序在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/abouthttps://www.myapp.com/about )。 但我的应用程序托pipe在Heroku,我必须支付20美元/月/证书,所以更多的应用程序意味着更多的费用。
  • 获取包含wwwbeta的通配符/多域名证书。 但是我已经有了两张证书,所以我不想再买一张。

还有其他更好的方法吗?

这有点棘手,你没有太多的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(主题备用名称)。

http://en.wikipedia.org/wiki/Subject_Alternative_Name