Вы не можете делать ничего подобного /etc/hosts
в CloudFront - он всегда использует общедоступный DNS для разрешения источника.
Тем не менее, вы все еще можете делать то, что пытаетесь сделать, - но вам просто нужно понять , почему это решение действительно то, что вы хотите, потому что вам покажется, что это не так (как вы указали) в комментариях).
На маршруте 53 создайте новую запись A для нового имени хоста для исходного сервера, например origin.example.com. Вы вообще не настраиваете это значение на своем исходном сервере. Ваш исходный сервер все еще считает, что это www.example.com.
На маршруте 53 создайте псевдоним A записи www.example.com, указывающий на origin.example.com.
На данный момент ваш сайт работает именно так, как вы ожидаете и требуете. Имя хоста «origin.example.com» находится в пути разрешения, но эта информация невидима и неизвестна источнику.
В CloudFront создайте дистрибутив, задав для исходного домена имя origin.example.com, а для альтернативного доменного имени для распределения - www.example.com.
В настройках для каждого поведения кэша убедитесь, что заголовок Host
внесен в белый список для пересылки к источнику.
Измените псевдоним Route 53 для www.example.com, чтобы он указывал на ваш дистрибутив CloudFront.
Когда запросы поступают в CloudFront, запрос сохраняет заголовок Host: www.example.com
. CloudFront использует DNS для поиска IP-адреса для origin.example.com
, однако , он использует эту информацию только для установления соединения с источником. Входящий запрос все еще адресован www.example.com. Если у источника есть сертификат SSL для www.example.com, CloudFront примет его как действительный, поскольку вы настроили заголовок Host
для белого списка, и он соответствует сертификату.
В этой конфигурации доступ к дистрибутиву CloudFront с назначенным именем хоста dzczcexample.cloudfront.net в адресной строке браузера не будет работать, поскольку CloudFront отправит это имя хоста в источник, но как только вы укажете Направьте 53 псевдонима для www.example.com к назначенному имени домена cloudfront.net, запросы будут обработаны правильно.