这是我在其他一些地方所见过的,但特别是这个问题并没有完全说明是不可能的.
我想将一个顶点域指向一个heroku应用程序(example.com到example.herokuapp.com)
CNAME似乎不可能,因为它们不允许在顶点级别(子域很好).
ALIAS记录似乎是一种选择,即使我不完全理解它们,或者它们是标准的.我们使用AWS Route53作为我们的DNS提供商,但ALIAS记录似乎只能用于特定的亚马逊服务(s3网站,负载均衡器,…)
那么有可能将顶点域指向Heroku应用程序吗?我唯一的另一种选择是使用其他DNS提供商吗?
谢谢
编辑:我知道我可以CNAME www.example.com到example.herokuapp.com,然后使用ALIAS记录从example.com重定向到www.example.com,以及重定向的S3站点.但我们想要的恰恰相反,我们希望浏览器显示example.com.
解决方法
别名记录不是实际的DNS记录类型 – 它们是指向Route 53中其他记录的指针,因此别名记录的目标只能是S3存储桶,Elastic Load Balancer,CloudFront分配或其他记录在托管区域中键入(例如,A记录). Route 53使用其内部数据库查找目标并返回标准DNS响应.
因此,不能直接将别名指向外部目标.
如果您确实希望在外部目标指向别名,则可以间接使用CloudFront,因为CloudFront接受主机名(example.herokuapp.com)作为将转发请求的Origin服务器的名称.它还允许您使用由Amazon Certificate Manager生成的SSL证书,并有选择地将不同的路径模式路由到不同的目标(例如,路由/ images / *到S3存储桶).如果您不需要,可以自定义或禁用CloudFront的缓存行为.
当然,这会产生对请求和带宽的使用费,但会提供一些可能值得的额外功能,包括如果缓存是您可以从中受益的话,可以减轻heroku服务的负担.
但是,有正当理由使用www主机名而不是裸域,并配置裸域以将传入请求重定向到www,这可以通过多种不同方式完成.