Ответ 1
Похоже, вы уже проделали большую часть работы. Для ясности я снова рассмотрю эти шаги, чтобы убедиться, что вы настроены правильно:
-
Создайте ведро s3 с использованием вашего имени домена в качестве имени ведра (ваше имя в виде ковша должно быть www.example.com, если вы хотите, чтобы ваш сайт был example.com или www.example.com)
-
Загрузите свой контент в ведро s3. Выберите согласованное имя для индексных файлов вашего сайта (обычно index.html). Вы также можете загрузить пользовательскую страницу для 404 ошибок Not Found. Назовите это 404.html. Предоставьте разрешения на чтение для каждого файла на вашем веб-сайте, чтобы публика могла его просматривать. Не давайте никаких дополнительных разрешений для ведра, только файлы внутри.
-
Настройте свое ведро как веб-сайт. С помощью консоли AWS (https://console.aws.amazon.com/s3/) вы можете выбрать свой ковш, выбрать свойства, а затем выбрать вкладку "Веб-сайт". Нажмите "Включено" и установите индексный документ "index.html", а ваш документ с ошибкой - "404.html". Вам также нужно будет настроить ведро с разрешениями доступа, чтобы разрешить доступ через Интернет (http://docs.amazonwebservices.com/AmazonS3/latest/dev/WebsiteAccessPermissionsReqd.html)
-
Обратите внимание на 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. ком
CNAME - единственное, что вам нужно, если вам просто нужен www.example.com. Большинство людей также хотят, чтобы "example.com" работал, поэтому нам нужен еще один шаг.
example.com часто называют голым доменом или вершиной записи домена. Причина в том, что это не может быть CNAME. CNAME работают только на таких поддоменах, как "www". Это затрудняет указание на s3.
Обычный подход заключается в использовании службы для автоматического перенаправления любого запроса на example.com, чтобы указать на www.example.com. Затем вы получите свою запись CNAME, и ваш сайт будет отправлен с s3.
Автоматическое перенаправление невозможно с обычным старым DNS, поэтому вам нужно использовать другую услугу. Некоторые провайдеры DNS предлагают эту услугу вместе с их DNS (godaddy does, amazon route53 не делает. Не уверен насчет 123-reg)
Если ваш DNS-провайдер этого не делает, есть несколько бесплатных сервисов. Один из них, который я использовал, http://wwwizer.com/naked-domain-redirect - он не требует никакой регистрации или оплаты.
Чтобы использовать этот тип сервиса, вам необходимо создать запись DNS "A" для вашего голого домена. Для службы wwwizer.com вам необходимо создать запись A, чтобы указать example.com на 174.129.25.170. Это все!
Итак, с этой настройкой, если пользователь вводит example.com в свой браузер, произойдет следующее:
- DNS-запрос: example.com → 174.129.25.170 (услуга wwwizer.com)
- HTTP-запрос к 174.129.25.170 для example.com
- 174.129.25.170 redirects example.com → www.example.com
- DNS-запрос: www.example.com → CNAME на www.example.com.s3-website-us-east-1.amazonaws.com
- DNS-запрос: www.example.com.s3-website-us-east-1.amazonaws.com → указывает на Amazon S3
- HTTP-запрос для www.example.com теперь обслуживается Amazon S3
Наслаждайтесь!