Указание нескольких поддоменов Route53 на одну корзину S3 - PullRequest
2 голосов
/ 30 октября 2019

У меня есть поддомен Route53 (test.site.co.uk), и я хочу иметь возможность указать его на основной сегмент S3 (testing.uat.co.uk). У меня также будет больше поддоменов, которые вскоре должны будут сделать то же самое.

Я не могу установить для Alias ​​Target значение корзины S3, потому что это другое имя, которым оно должно быть. Я изменяю содержимое, отображаемое на сайте корзины, чтобы отвечать на целевой URL. По этой причине мне нужно сохранить URL-адрес, поскольку я также пытался перенаправить сегмент с тем же именем в домен основного блока, но это изменяет URL-адрес.

Есть ли способ обойти это, где яможно сохранить целевой домен?

1 Ответ

2 голосов
/ 30 октября 2019

Идеальный подход - использовать 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
...