将多个Route53子域指向单个S3存储桶

时间:2019-10-30 15:12:55

标签: amazon-web-services amazon-s3 amazon-cloudfront amazon-route53

我有一个Route53子域(test.site.co.uk),我希望能够将其指向一个主S3存储桶(testing.uat.co.uk)。我还将很快有更多子域需要做同样的事情。

我无法将Alias Target设置为S3存储桶,因为它是一个不同的名称。我正在更改存储分区网站上显示的内容,以响应目标URL。因此,我需要保留URL,因为我还尝试将同名的存储桶重定向到主存储桶的域,但这会更改URL。

有什么办法可以保留目标域名?

1 个答案:

答案 0 :(得分:3)

理想的方法是将Amazon CloudFront与Lambda @ Edge结合使用。在CloudFront中,您可以设置多个备用域名(CNAME),使用Lambda @ Edge可以处理请求以显示不同的内容:

 import json

 def lambda_handler(event, context):
     request = event['Records'][0]['cf']['request']
     headers = request['headers']

     if request['domainName'] == 'example1.com':
         # Do this 1
     elif request['domainName'] == 'example2.com':
         # Do this 2
     else:
         # Do this else