Используйте Cloudflare для доступа к AWS S3 с поддоменом записи с подстановочными знаками - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь следовать этой статье о cloudflare относительно того, как извлекать ресурсы Amazon S3 через поддомен.

Это работает, как и ожидалось, когда я вручную определяю указанный c поддомен с DNS, как показано ниже:

CNAME ----- активы ------ fullpage.sites.s3-website-us-west-1.amazon aws .com --- оранжевое облако icon enter image description here

Затем я могу получить доступ к своим файлам amazon при использовании: https://assets.example.com

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

Итак, я добавляю следующую запись с подстановочным знаком NAME. CNAME ----- * ------ fullpage.sites.s3-website-us-west-1.amazon aws .com --- значок серого облака enter image description here

Обратите внимание, что мне не разрешили использовать «оранжевый значок облака» (Проксис) и мне пришлось использовать серый (только DNS)

Теперь этот URL перестал работать, как и ожидалось: https://assets.example.com

И я получаю aws ошибку:

404 Не найдено

  • Код: NoSuchBucket
  • Сообщение: указанный контейнер не существует

Что происходит?

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 12 марта 2020

Обратите внимание, что запись CNAME без подстановочных знаков имеет оранжевый значок облака справа и говорит «Прокси». Это означает, что запросы к этому имени хоста сначала обрабатываются Cloudflare, в том числе, например, при запуске Cloudflare Workers для перезаписи URL.

Однако ваше универсальное имя хоста говорит "только DNS". Это означает, что имя хоста настроено так, чтобы указывать непосредственно на IP-адрес AWS; запросы не go к Cloudflare в первую очередь. AWS не ожидает получения запросов на ваше имя хоста, поэтому он возвращает ошибку 404. Когда он их видит.

К сожалению, Cloudflare поддерживает только проксирование имен хостов с подстановочными знаками для корпоративных учетных записей, поэтому вы ничего не можете сделать об этом, если вы не хотите перейти на корпоративный контракт, который обычно начинается с нескольких тысяч долларов в месяц.

...