2011-04-29 71 views
5

我们有一个最近部署到Heroku的应用程序。我认为我们已经按照我们的要求打破了隔墙(请让我的结论错误)。在Heroku上使用带有通配符SSL的通配符子域

这是一个项目管理应用程序。管理层决定采用所有SSL解决方案,因此我们从GoDaddy获得了通配符证书(* .ourapp.net),我们在基于主机名的SSL下成功添加到Heroku。基于主机名的SSL需要将特定的CNAME(需要被保护)指向由Heroku给出的AmazonAWS url。例如,如果我们想要保护var.ourapp.net,我们必须指向CNAME var.ourapp.net ----> appid42352herokucom-324234.us-east-1.elb.amazonaws.com [这是示例URL)

由于我们希望每个第一级子域都是安全的,所以我们必须将* .myapp.net CNAME指向AmazonURL。

但是这干扰了我们的应用程序设计,其中每一个通配符子域(基本和通配符域已添加到应用程序)需要被处理,使得每个客户可以得到品牌的URL像customername.outapp.net

目前DNS由Zerigo一级处理。

请建议/推荐

+0

不知道我明白这个问题。你可以扩展这些场景吗 - 也许用真正的领域来解决问题? – 2011-04-29 19:55:38

+0

我有类似的事情,但有一个不同的问题。你如何能够创建通配符CNAME?它是否支持zerigo 1级? (目前在godaddy上) – Kombo 2011-06-15 19:55:52

回答

2

听起来像它应该工作。

您添加CNAME记录: *.ourapp.comappid42352herokucom-324234.us-east-1.elb.amazonaws.com

用户请求https://ACLIENT.ourapp.com。浏览器跟随CNAME,在端口503上连接到 appid42352herokucom-324234.us-east-1.elb.amazonaws.com。服务器用您的证书进行响应。然后它将请求传递给Heroku的“路由网格”。它获取到https://ACLIENT.ourapp.com的请求,在heroku域配置中查找主机名并找到该应用的通配符域。然后它将请求传递给应用程序。