Kos*_*ris 2 dns amazon-s3 amazon-web-services amazon-route53
我有一个静态网站在S3内部托管,client1.examplecorp.com具有相应的R53记录client1.examplecorp.com. A ALIAS s3-website-us-east-1.amazonaws.com.
我希望我的客户端(client1.com)webadmin为子域创建一个dns记录,该记录quotes.client1.com将指向AWS(client1.com不使用R53).
应该指向client1.examplecorp.com吗?
或者直接在S3桶端点?
这个概念是,最终用户只会看到quotes.client1.com子域而不知道client1.examplecorp.com.
我希望我能够很好地描述它......
我已阅读有关AWS文档设置静态网站使用自定义域,桶的虚拟主机,也该SO发布.
我有一种感觉,我在这里描述的是如何使用Amazon Web Services重定向域.
我只是不明白客户端的注册商如何通过添加4个名称服务器将特定子域(quotes.client1.com)的流量重定向到client1.examplecorp.com.
此外,重定向是否仅影响此子域或整个client1.com.
最后,它会完全透明吗?这意味着,client1.examplecorp.com不会向最终用户显示?
我对解释它没有坚定的把握,所以请耐心等待.
这有两种可能的解决方案:
在这些示例中,客户端的主域是example.com.
选项1:
创建一个名称与所需主机名相同的存储桶,并让客户端创建指向存储桶的网站端点的CNAME记录.
水桶名称:
quotes.example.com
Run Code Online (Sandbox Code Playgroud)
网站端点(假设us-east-1区域):
quotes.example.com.s3-website-us-east-1.amazonaws.com.
Run Code Online (Sandbox Code Playgroud)
客户端DNS:
quotes.example.com. CNAME quotes.example.com.s3-website-us-east-1.example.com.
Run Code Online (Sandbox Code Playgroud)
客户端不需要将Route 53用于其DNS,但桶名称必须与它们指向存储桶的主机名完全匹配,因为这就是S3的工作方式.
选项2:
通过CloudFront发送流量.在这种情况下,存储桶名称无关紧要,因为CloudFront会将其转换为正确的存储桶名称.
水桶名称:
example-bucket
Run Code Online (Sandbox Code Playgroud)
网站端点:
example-bucket.s3-website-us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
新CloudFront分配系统分配的主机名:
djozxyqkexample.cloudfront.net
Run Code Online (Sandbox Code Playgroud)
CloudFront的起源(做不从下拉列表中选择存储桶名称,类型,如S3控制台中显示的S3网站主机名):
example-bucket.s3-website-us-east-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
CloudFront备用域名:
quotes.example.com
Run Code Online (Sandbox Code Playgroud)
客户端创建DNS CNAME
quotes.example.com. CNAME djozxyqkexample.cloudfront.net.
Run Code Online (Sandbox Code Playgroud)
此解决方案也不要求客户端使用Route 53,并且 - 重要的是 - 存储桶名称不需要与主机名匹配 - 主机名只需配置为CloudFront备用域名,以便CloudFront识别Host:标头当它到来时.
如果要为多个站点重用相同的存储桶,可以向CloudFront备用域名设置添加更多主机名,也可以创建指向同一存储桶的多个分发.
另请注意,在S3前使用CloudFront实际上是免费的,因为当您使用CloudFront时,S3将不再向您收取带宽 - 相反,CloudFront将以CloudFront速率向您收取带宽,这通常略低于S3率.
在上述两种情况下,客户端都不需要使用Route 53,因为它们的主机名不是区域apex主机名("裸域").要将裸域与任一解决方案一起使用,需要Route 53,但这不适用于此处.
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |