Amazon S3: статические веб-сайты: собственный домен или поддомен - PullRequest
74 голосов
/ 18 февраля 2011

Amazon.com только что объявил, что можно разместить статические веб-сайты в корзине S3. Я зашел на их страницу установки по адресу http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?WebsiteHosting.html и создал корзину для моего статического веб-сайта, и она работала нормально. У меня есть URL-адрес вида http://[my имя корзины] .s3-website-us-east-1.amazonaws.com /.

Однако я хотел бы указать принадлежащий мне поддомен (например, static.mydomain.com) на мой статический веб-сайт на Amazon S3. Кто-нибудь разобрался, как это сделать?

Я ценю любую помощь, которую вы можете мне оказать.

Ответы [ 6 ]

176 голосов
/ 19 февраля 2011

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

  1. Предположим, что имя вашего сайта static.mydomain.com .Затем вам нужно создать контейнер S3 с тем же именем с именем static.mydomain.com .
  2. Как только вы настроите этот сегмент как статический веб-сайт S3, ему будет присвоен URL-адрес, похожий на http://static.mydomain.com.s3 -website-us-east-1.amazonaws.com .
  3. Перейдите на хост своего домена и сопоставьте свой поддомен с URL-адресом из шага 2. На enom.com это означало сопоставление хоста * static с адресом" static.mydomain.com.s3-website-us-east-1.amazonaws.com " как запись CNAME.

Спасибо Uriah и David за предложения.Я получил ответ на форуме Amazon AWS .

5 голосов
/ 18 февраля 2011

Убедитесь, что вы соблюдаете правила S3 для именования сегментов DNS при создании сегмента.

Тогда:

  1. Включите поддержку веб-сайта S3 длякорзина с помощью Консоли управления AWS в разделе Свойства -> Веб-сайт

  2. Убедитесь, что файлы в корзине имеют общие разрешения на чтение

  3. Попробуйтевеб-сайт с использованием конечной точки, указанной в консоли управления

  4. Настройте CNAME с использованием указанной конечной точки (например, www.example.com CNAME www.example.com.s3-website-us-east-1.amazonaws.com)

4 голосов
/ 19 июля 2012

Это называется виртуальным хостингом Buckets: http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html

4 голосов
/ 18 марта 2011
  1. Создайте размещенную зону, скажем, mydomain.com. Вы можете использовать веб-интерфейс DNS30 .
  2. Теперь создайте запись CNAME для этой размещенной зоны.
  3. Добавить запись ресурса с указанием следующей детали: "mydomain.com" Введите как "CNAME" Значение как "mydomain.com.s3.amazonaws.com" TTl как "на вашей требуемой конфигурации"

Надеюсь, это будет работать и для static.mydomain.com

Regards-

Udit

3 голосов
/ 18 февраля 2011

Как насчет использования службы DNS, такой как Route 53, предоставляемый Amazon. Настройте его с помощью CNAME из вашего субдомена по общедоступному URL-адресу корзины. Конечно, если ваша доменная компания предоставляет конфигурацию CNAME, это может работать напрямую.

1 голос
/ 04 июля 2019

Обновление 2019: пользовательский AWS поддомен хостинг в S3

На сегодняшний день у меня работали следующие шаги, чтобы создать рабочий поддомен для статического веб-сайта, размещенного на AWS S3:

  1. Создать контейнер с именем субдомена.В этом примере www. subtest .mysite.com

aws bucket

Примечание. Убедитесь, что на вкладке «Разрешения»bucket: -Block общего доступа (настройки Bucket) -Access Control List & -Bucket политики правильно установлены, чтобы убедиться, что Bucket является общедоступным.(Предполагая, что вы уже сделали это для своего сегмента корневого домена, эти параметры можно отразить на этом сегменте субдомена)

AWS bucket permissions

Загрузите файл index.html в корзину

index file in s3 bucket

Создайте запись CNAME с вашим провайдером домена CNAME record in namecheap
...