Назад | Перейти на главную страницу

Обратный прокси в Cloudfront CDN

Мы хотим пересылать все запросы на domain.com/foo в корзину S3, обслуживаемую Cloudfront. Идея в том, что наш домен используется, пока контент загружается из S3 / Cloudfront. У меня есть настройка Apache для обратных запросов прокси на /foo таким образом:

<Location /foo>
    RequestHeader set X-Forwarded-Proto "https"

    ProxyPassReverseCookiePath / /foo

    ProxyPass http://bar.cloudfront.net/
    ProxyPassReverse http://bar.cloudfront.net/
</Location>

Однако когда я ударил domain.com/foo Я получаю 403 Forbidden из Cloudfront.

Я пробовал добавить заголовок RequestHeader set Host "bar.cloudfront.net", страница загружается, и я вижу содержимое в s3 bucket, но тогда домен, очевидно, является доменом CDN.

Обновить:

Я заменил URL-адрес облачного интерфейса в конфигурации Apache на общедоступный URL-адрес корзины s3, и он сработал, сохранив имя хоста. Я считаю, что это подтверждает проблему с Cloudfront.

Я добавил наше доменное имя как CNAME на CloudFront. Затем установите RequestHeader set Host на наше доменное имя с /foo. Это сохраняет имя хоста, но вызывает 400 ошибка CloudFront.

Cloudfront должен знать обо всех заголовках хоста, которые он собирается получить. Вы можете добавить domain.com как запись CNAME в Cloudfront. Это не приводит к тому, что трафик поступает в облачный интерфейс, но он идентифицирует этот заголовок хоста как связанный с вашей конкретной конфигурацией.