Amazon S3: Статичні веб-сайти: користувацький домен або субдомен


79

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

Однак я хотів би вказати піддомен, яким я володію (наприклад, static.mydomain.com), на свій статичний веб-сайт Amazon S3. Хтось придумав, як це зробити?

Я вдячний будь-якій допомозі, яку ви можете мені надати.


Відповіді:


182

Виявляється, для того, щоб це працювало, ви не можете просто зіставити будь-який довільний субдомен з будь-яким довільним сегментом. Повна назва субдомену повинна збігатися з назвою сегмента 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.

Дякую Урії та Девіду за пропозиції. Врешті-решт я отримав свою відповідь на форумі Amazon AWS .


Не знаю. Вам доведеться спробувати. Крім того, ви, ймовірно, отримаєте сертифікат SSL від Amazon, а не ваш власний.
Джей Годсе,

2
Ви можете насправді просто вказати своє ім'я на s3-website-us-east-1.amazonaws.com , схоже , він ігнорує субдомен і використовує заголовок HOST http, щоб вказати сегмент. Здається, не має значення, чи збігаються ці два, чи навіть присутній субдомен.
lynks

@lynks - ти навіть можеш залишити регіон і просто піти на s3.amazonaws.com
plyawn

Правильно @hnprashanth (використовуючи лише S3), у вас може бути до 10 субдоменів, що вказують на одне і те ж розташування ресурсу з розподілом CloudFront, хоча ... перевірити docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
plyawn

Це працює. AWS заявляє про це в ранньому розділі Вступ, але до того моменту, як ви пройдете всі етапи, це легко / швидше за все забуде. Це краще рішення, ніж рішення lynks cname, оскільки AWS тепер платить за транзакції для пошуку cname кожним користувачем.
Mike_Laird 02

5

Переконайтесь, що ви дотримуєтеся правил іменування сегментів S3 DNS під час створення вашого сегмента.

Тоді:

  1. Увімкніть підтримку веб-сайту S3 для сегмента за допомогою консолі управління AWS у меню Властивості -> Веб-сайт

  2. Переконайтесь, що файли у відрі мають загальнодоступні дозволи на читання

  3. Спробуйте веб-сайт, використовуючи кінцеву точку, зазначену в консолі управління

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


Я зробив усі 4 кроки. Крок 3 працює. Ім'я на кроці 4 налаштовується (з enom.com, який успішно робить це з іншими субдоменами), але ні натискання мого субдомену s3 за допомогою браузера, ні пінг його не працюють. За допомогою heroku.com та blogger.com ви повинні повідомити їм, який із ваших субдоменів буде натискати на який додаток heroku чи блогер-блог. Здається, у статичних веб-сайтів S3 цього немає.
Jay Godse

2
@Jay Godse Як називається сегмент вашого веб-сайту та його регіон?
Uriah Carpenter

4
  1. Створіть розміщену зону, скажімо mydomain.com. Ви можете використовувати веб-інтерфейс DNS30 .
  2. Тепер створіть запис CNAME для цієї розміщеної зони.
  3. Додайте запис ресурсу з наступними деталями Назва як "mydomain.com" Введіть як "CNAME" Значення як "mydomain.com.s3.amazonaws.com" TTl як "у вашій необхідній конфігурації"

Сподіваюся, це також спрацює для static.mydomain.com

З повагою-

Удит



3

Як щодо використання служби DNS, як Route 53, який пропонує Amazon. Встановіть його за допомогою CNAME з вашого піддомену до загальної URL-адреси сегмента. Звичайно, якщо ваша доменна компанія надає конфігурацію CNAME, це може працювати безпосередньо.


1

Оновлення 2019: AWS спеціальний піддоменний хостинг у S3

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

  1. Створіть сегмент з іменем субдомену. У цьому прикладі www. субтест .mysite.com

aws відро

Примітка: Переконайтеся, що на вкладці "Дозвіл" сегмента: -Заблокувати загальнодоступний доступ (налаштування сегмента) -Перелік контролю доступу та -Букет-політика встановлені належним чином, щоб переконатися, що сегмент є загальнодоступним. (Якщо припустити, що ви вже зробили це для свого сегмента кореневого домену, ці налаштування можуть відображатися на цьому сегменті субдомену)

Дозволи сегмента AWS

  1. Завантажте файл index.html у відро

індексний файл у відрі s3

  1. Створіть запис CNAME у свого постачальника доменів Запис CNAME в імені ім'я
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.