Когда CloudFront устанавливает соединение с источником, он всегда использует имя домена источника для поиска IP-адреса источника ... но когда он отрицает TLS с источником, он устанавливает SNI на то же значение, что и HTTP * Заголовок 1001 *, который будет отправлен отправителю.
Эти два значения могут быть одинаковыми или могут отличаться, но Host
/ SNI всегда одинаковы и всегда одно из двух значений:
- это имя домена происхождения (потенциально измененное в пользовательских параметрах источника триггером Lambda @ Edge Origin Request), когда настройки поведения кэша не включают , включая белый список
Host
заголовок (или все заголовки) для пересылки к источнику или
- это заголовок HTTP
Host
, отправляемый в CloudFront браузером (возможно, измененный в заголовках запроса триггером Lambda @ Edge Request), когда настройки поведения кэша do включите в белый список заголовок Host
для пересылки к источнику.
Таким образом, по сути, имя должно совпадать, если заголовок Host
переадресован, и должно отличаться, если это не так.
Кроме того, если оно отличается, это имя хоста должно быть действительно настроено в DNS и указывать на назначенную конечную точку регионального API - вы не можете просто указать на назначенную цель псевдонима DNS в качестве исходного доменного имени.
К сожалению, в некоторых случаях CloudFront несколько сбивает с толку использование 403 ошибок. Иногда этот код используется для ошибок, которые более правильно будут рассматриваться как ошибки 400 или 421, поэтому тело ответа важно при проверке определенных проблем с 403. Если вы указываете доменное имя на CloudFront, не устанавливая этот домен в качестве альтернативного имени домена для распространения вы получите 403 с телом, в котором написано «Плохой запрос», и событие не будет зарегистрировано в ваших журналах CloudFront, поскольку отсутствующий параметр альтернативного имени домена не позволяет CloudFront отображать этот запрос в конкретный дистрибутив.