如何使用自定义SSL正确链接Heroku,CloudFront,Route53?

问题描述 投票:1回答:1

我正在尝试建立一个在Heroku上托管的Web应用程序。 DNS路由通过AWS Route53完成,并通过CloudFront进行分发。我已经为例如www.example.com购买了自己的SSL证书。

一切正常,除了我希望能够使用子域,然后在Heroku中显示其他应用。这也可以在本地使用。但是,如果我将CloudFront中的主机标头列入白名单以便执行此路由,则Heroku将重定向到未知应用程序。

AWS说这是Heroku端的错误配置,Heroku指出我配置了DNS路由,需要将生成的CNAME应用于Route53。但是该CNAME路由到CloudFront。

所以现在的设置是:

Heroku

托管Web应用。自动证书管理已启用。未添加域。

heroku config

Route53

CNAME指向CloudFront dist。以及A和AAAA。也用于*通配符

Route53 config

CloudFront

原始指向Heroku部署。具有用于自定义域网址的CNAMES,例如* .example.com

CloudFront dist configOrigin config

我自己的具有*通配符支持的自定义SSL已上传到AWS CM并添加到CloudFront。它可以工作,但是我可以想象我在某些步骤上配置了错误。

如果发送我的Heroku部署的主机标头重定向到错误的应用程序,怎么办?

heroku dns amazon-cloudfront amazon-route53
1个回答
0
投票

与Heroku进行沟通并链接此帖子之后。对我来说很清楚,Heroku和Route56 / CloudFront具有特殊的关系,不需要将由Heroku创建的CNAME引用添加到AWS,并且可以忽略Heroku的验证。

在CLI中运行以下命令有效,并且未收到主机头,并且在Heroku侧未发生任何重定向。

heroku domains:add example.com -a heroku-app-name
heroku domains:add *.example.com -a heroku-app-name
© www.soinside.com 2019 - 2024. All rights reserved.