Как настроить DNS для распространения CloudFront с ACM для тестовых и рабочих серверов, указывающих на разные корни каталогов? - PullRequest
0 голосов
/ 10 июля 2020

Я столкнулся с трудностями при обслуживании запросов от test.domain.com с конфигурацией с комбинацией AWS Certificate Manager (ACM), AWS EC2 (linux AMI), AWS CloudFront (CF) , Google DNS и сервер Apache.

У меня есть следующие настройки в каталоге public_html:

У меня есть 2 папки в /var/www/html

  • prod
  • test

Цель состоит в том, чтобы обслуживать запросы, полученные от test.domain.com, используя каталог test, и запросы, полученные из domain.com, используя каталог prod.

Настройка работает нормально с сертификатами acme ssl ie., Для производства (domain.com) мы используем сертификат acme SSL, а DNS указывает на Elasti c IP и работает нормально. Даже test.domain.com нормально работал с настройкой acme ssl.

Однако я пытаюсь переключиться на ACM. Поскольку он работает только с CF и ELB (AWS Elasti c Load Balancer), создал дистрибутив CF.

  • Создал один дистрибутив CloudFront (CF), указывающий на конечную точку AWS EC2 с Origin путь /test.
  • Перенаправлен test.domain.com на рассылку CF в Google DNS, поскольку домен зарегистрирован в них.

При такой настройке test.domain.com также представляет domain.com а не тестовый сервер, как ожидалось.

https.conf содержит правильный документ Root для каждого ServerName. Но запрос не попадает на виртуальный хост тестового сервера ..

чего не хватает? пожалуйста, предложите ..

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете попробовать следующее:

  1. Добавьте и domain.com, и test.domain.com в список CNAME CloudFront.
  2. Сертификат ACM с общим именем / SAN в качестве домена. com и * .domain.com (или test.domain.com)
  3. В поведении кеша CloudFront, заголовок HOST whiteist, это гарантирует, что при доступе клиента к domain.com, cloudfront отправит такое же значение в заголовке хоста при обращении к источнику.

Ссылка: Перенаправить заголовок хоста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...