Статичний хостинг на Amazon S3 - конфігурація DNS


117

Я працюю над невеликим веб-сайтом (все на стороні клієнта). Хочу розмістити його на Amazon S3. Я знайшов кілька посібників з цього приводу і встиг створити собі відро (з таким же ім’ям, як і мій домен), встановити його як веб-сайт і завантажити деякий вміст.

Де я боюсь і де вся документація починає трохи розпливатися, - як правильно налаштувати мій DNS.

Усі мої реєстратори ( 123-reg ) могли запропонувати переадресацію через Інтернет, яка дає мені mydomain.com.s3.amazonaws.com

Що мені потрібно налаштувати, і де (тобто 123-reg / Amazon) можна отримати чисту URL-адресу?


З того часу, як це питання було задано, все змінилося. Тепер можна розмістити свій сайт на S # з кореневим доменом, см прохідних тут: docs.aws.amazon.com/AmazonS3/latest/dev / ...
ПОРСА

Відповіді:


248

Здається, ви вже зробили більшу частину роботи. Для наочності я перейду ці кроки ще раз, щоб переконатися, що ви налаштовані належним чином:

  1. Створіть відрізок s3, використовуючи доменне ім'я як ім'я відра (ваше ім’я має бути www.example.com, якщо ви хочете, щоб ваш сайт був example.com або www.example.com)

  2. Завантажте свій вміст у відро s3. Виберіть послідовне ім’я для файлів індексу вашого веб-сайту (як правило, index.html). Ви також можете завантажити власну сторінку для помилок 404 Not Found. Зателефонуйте цьому 404.html. Надайте дозволи на читання кожному файлу вашого веб-сайту, щоб громадськість змогла його переглядати. Не дайте зайвих дозволів на відро, а лише на файли всередині.

  3. Налаштуйте відро як веб-сайт. За допомогою консолі AWS ( https://console.aws.amazon.com/s3/ ) ви можете вибрати своє відро, натиснути властивості, а потім вибрати вкладку "Веб-сайт". Клацніть увімкнено та встановіть для вашого покажчика документ "index.html", а документ про помилку - "404.html". Вам також потрібно встановити відро з дозволами доступу, щоб дозволити доступ через Інтернет ( http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html )

  4. Візьміть до відома URL-адресу "Кінцева точка" на вкладці конфігурації веб-сайту. Тут живе ваш веб-сайт. Ви можете відкрити посилання у новому вікні, і ви повинні побачити свій веб-сайт так, як він виглядатиме. Клацніть навколо і переконайтесь, що все працює, як очікувалося.

Ви ОБОВ'ЯЗКОВО використовувати адресу кінцевої точки у всіх кроках нижче. Звичайна www.example.com.s3.amazonaws.com не працюватиме - вам потрібно використовувати регіональну версію ( http://www.example.com.s3-website-us-east-1.amazonaws.com/ )

Тепер ми можемо налаштувати DNS для отримання чистої, власної URL-адреси.

По-перше, ми зробимо карту www.example.com на ваш сайт.

Використовуючи інструменти свого постачальника DNS, (123-reg у вашому випадку) вам потрібно створити запис CNAME, щоб відобразити www.example.com на www.example.com.s3-website-us-east-1.amazonaws.com

CNAME - це єдине, що вам потрібно, якщо ви просто хочете www.example.com. Більшість людей також хочуть, щоб "example.com" працював, тому нам потрібен ще один крок.

example.com часто називають голим доменом або вершиною запису домену. Причина, яка є проблемою, полягає в тому, що вона не може бути CNAME. CNAME працюють лише на таких субдоменах, як "www." Це ускладнює вказівку на s3.

Звичайний підхід полягає у використанні сервісу для автоматичного перенаправлення будь-якого запиту, що переходить на example.com, щоб вказати на www.example.com Потім ви отримаєте ваш запис CNAME, і ваш веб-сайт буде розміщено з s3.

Автоматичне перенаправлення неможливо із звичайним старим DNS, тому вам доведеться скористатися іншою службою. Деякі постачальники DNS пропонують цю послугу разом зі своїм DNS (Godaddy робить, Amazon route53 не робить. Не впевнений, що стосується 123-reg)

Якщо ваш постачальник DNS цього не робить, є кілька безкоштовних послуг. Я використовував те, що http://wwwizer.com/naked-domain-redirect - він не вимагає жодної реєстрації чи оплати.

Щоб скористатися цим типом послуг, вам потрібно створити запис DNS "A" для вашого голого домену. Для сервісу wwwizer.com вам потрібно створити запис A, щоб вказати example.com на 174.129.25.170. Це все!

Отже, за допомогою цієї установки, якщо користувач набере example.com у свій браузер, трапиться таке:

  1. DNS-запит: example.com -> 174.129.25.170 (сервіс wwwizer.com)
  2. HTTP-запит на 174.129.25.170 для example.com
  3. 174.129.25.170 переспрямовує example.com -> www.example.com
  4. Запит DNS: www.example.com -> CNAME до www.example.com.s3-website-us-east-1.amazonaws.com
  5. DNS-запит: www.example.com.s3-website-us-east-1.amazonaws.com -> вказує на Amazon S3
  6. HTTP-запит на www.example.com тепер обслуговується Amazon S3

Насолоджуйтесь!


2
Дуже дякую за ясність усьому цьому! Я вніс зміни, просто дочекавшись, коли це стане правильним, пальці схрещені, все буде працювати.
Мерлін Мейсон

хммм, все ще, здається, не працює. Ось сценарій конфігурації DNS - cl.ly/CP6U Крапка в кінці здається підозрілою, я цього не додав, і введення цієї URL-адреси у веб-переглядачі з крапкою в кінці дає мені неправдиву помилку відра. Я спробував видалити його, але він повертається, як тільки я зберігаю, і я спробував замінити його на /, але потім я отримав недійсну помилку. Як ви вважаєте, це може бути проблемою в кінці 123-reg?
Мерлін Мейсон

Привіт Мерлін, я спробував шукати ваше доменне ім’я (wpfill.me), і я не бачу жодної із записів на екрані вашого екрану. Чи має 123-регістр окремий крок "опублікувати" чи "здійснити"? Схоже, ваша конфігурація набула чинності.
секретмейк

Хммм, я думаю, що з 123-reg повинна виникнути проблема, я спробував скинути записи DNS і чекав 48 годин, щоб він поширився і все ще не радіє. Потім я переключився на DNS-хостинг на Cloudflare і запустив все це за 20 хвилин :) Дякую за допомогу, дуже вдячний!
Мерлін Мейсон


1

Я вважаю, що ви повинні вибрати всі документи у своєму відрі, клацнути правою кнопкою миші та вибрати "Оприлюднити". Ви повинні робити це кожного разу, коли щось змінюється і у відрі. Потім я зазвичай клацну правою кнопкою миші на відро, вибираю властивості, вибираю дозволи на правій панелі, потім додаю "Усі як" отримувач ", а потім надаю їм дозволи лише на" список ". Решта вашої статті відмінна. Частина про голий домен допомогла Ви також можете вирішити свої проблеми. Ви також можете переадресувати голий домен на домен www у S3 у розділі "Статичний хостинг веб-сайтів" Це, мабуть, найпростіший спосіб. Дякую ще раз за всю вашу допомогу.

Тім


3
Цей крок вручну є непотрібним, якщо застосовувати політику ковша, як описано вище.
інструмент користувач

1

Оновлення 2019 року

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

Налаштування DNS для відображення відра


0

З екрану Advanced DNS на панелі керування 123-reg

  • Я почав, натиснувши кнопку "Скинути DNS" до налаштувань 123-reg за замовчуванням.

Це дало мені таке;

DNS EntryType       PriorityTTLDestination/Target
*                 A                                 81.xx.xx.xx              
@               A                                 81.xx.xx.xx              
@               MX          10               xx0.123-reg.co.uk
@               MX          20               xx1.123-reg.co.uk

  • Потім я додав цей запис

www          CNAME                    www.example.com.s3-website-us-east-1.amazonaws.com

З PDF-посібника з керування DNS вказується, що "@ запис" посилається на "ваш домен у чистому вигляді без субдомену", тобто голий домен stackoverflow.com

Але це не згадує, що таке "* запис", я припускав, що це буде ловити всі піддомени, і думав, що це може перейти за допомогою запису CNAME, але, здається, це не так.

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