Джорджия Нола # Простой хостинг сайтов с Amazon S3 и HTTPS Привет народ! В этом руководстве я покажу вам, как разместить статический веб-сайт с HTTPS на AWS с собственным доменом. Все это возможно с помощью уровня бесплатного пользования AWS. Тем не менее, услуги, которые мы собираемся использовать, требуют небольшой платы. Вообще говоря, они не должны превышать 1 долл. США в месяц. Мы будем использовать комбинацию следующих сервисов AWS: âÃÂÃÂS3 âÃÂàRoute53 âÃÂàМенеджер сертификатов âÃÂàCloudFront *Давайте займемся этим!* Настройте свои корзины S3 Во-первых, вам нужно ** два корзины S3 должны соответствовать имени вашего пользовательского домена, а второе включает субдомен www. Ведро 1: Ведро 2: Первая корзина (mywebsite.com) — основная для вашего сайта. Он содержит все ваши файлы и активы для вашего статического веб-сайта. Далее мы настраиваем это ведро для размещения статического сайта. Вы можете найти это на вкладке «Свойства» ведра, и мы собираемся сохранить значения по умолчанию, указанные здесь, с индексом сайта, установленным на index.html. Нам также нужно сделать это ведро доступным, так как браузеру пользователя потребуется доступ к файлам ведра для отображения веб-сайта. Мы можем сделать это, установив Bucket Policy на вкладке Permissions. { "Версия": "2012-10-17", "Утверждение": [ { "Sid": "PublicReadGetObject", "Эффект": "Разрешить", "Основной":"Действие": "s3:GetObject", "Ресурс": "MY_BUCKET_ARN"} ]} Это простая политика, которая разрешает публичный доступ для чтения только к объектам в корзине. Теперь, если вы перейдете к конечной точке, определенной в конфигурации статического хостинга корзины, вы должны увидеть свой веб-сайт. Прогресс! Но мы можем сделать лучше, чем это Второе ведро (www.mywebsite.com) мы оставим пустым, но настроим перенаправление на наше первое ведро с использованием HTTP в качестве протокола (позже мы сделаем его HTTPS) Теперь ваши ведра готовы к работе! Настройте домены с помощью Route53 Таким образом, ваш веб-сайт запущен и работает, но доступен только через конечную точку корзины, а не через ваш личный домен. Давайте изменим это Направляйтесь к **Route53 Если вы зарегистрировали свой домен в регистраторе Amazon, вы должны увидеть, что для вас настроена размещенная зона с двумя наборами записей. Один для сервера имен (NS) и один для SOA Все, что нам нужно сделать, это создать еще два набора записей, указывающих на конечные точки корзины S3. Для каждого набора записей: âÃÂàТип: âÃÂàIPv4-адрес âÃÂàПсевдоним: Да âÃÂàAlias ​​Target: конечная точка веб-сайта S3, которая соответствует тому, что вы установили для имени Теперь мы можем перейти к пользовательскому URL-адресу и вуаля! Мы почти на месте, но есть еще одна вещь, которую нам не хватает напоследок. Ãæ **Примечание. Если ваш домен зарегистрирован у другого регистратора доменных имен (не Amazon), вам потребуется выполнить некоторые другие действия, чтобы настроить его. Обычно вам нужно добавить запись CNAME со значением конечной точки основной корзины S3. **Исправление проблем Если вы удалили зону хостинга, созданную Amazon при первой регистрации домена (я сделал это, потому что за зоны хостинга взимается плата), вы нужно создать новую зону хостинга с нуля - Выберите «Создать размещенную зону» и задайте имя домена, например, «mywebsite». comâÃÂà- Это создаст несколько новых наборов записей для типов NS и SOA. - Войдите в свой зарегистрированный домен и обновите значения серверов имен до значений, сгенерированных в новом наборе записей NS. Запрос сертификата Круто, сайт теперь размещен с использованием пользовательского URL! Однако мы можем получить к нему доступ только по протоколу HTTP. Мы всегда должны обеспечивать безопасность наших сайтов с помощью протокола HTTPS. Это защищает наш сайт и пользователей от вредоносных инъекций и гарантирует подлинность. Направляйтесь к **Менеджер сертификатов** в консоли AWS и запросите новый общедоступный сертификат (это бесплатно). Вам будет предложено ввести доменные имена, которые вы хотите защитить Прежде чем сертификат может быть выдан, Amazon должен иметь возможность подтвердить, что вы владеете указанными доменами. Вы можете выбрать один из двух методов проверки: электронная почта или DNS. Электронная почта, как правило, проще, но вам нужно убедиться, что вы можете получить доступ к электронной почте, используемой для регистрации домена. В качестве альтернативы, если вы использовали Amazon Registrar и Route53, вы можете выбрать метод DNS. Это требует от вас добавления определенных наборов записей в размещенную зону, но это в основном автоматизировано для вас, поэтому это довольно просто. Выдача сертификата после проверки может занять несколько минут. Когда все будет готово, мы можем перейти к последнему шагу! Настройка CloudFront Для последнего шага мы будем использовать **CloudFront **, который позволяет нам использовать новый SSL-сертификат для обслуживания веб-сайта по протоколу HTTPS. CloudFront также ускоряет распространение веб-контента, сохраняя его в нескольких периферийных местоположениях и доставляя из ближайшего к пользователю периферийного местоположения. Нам нужно **два новых веб-дистрибутива, по одному на каждую корзину S3. Перейдите в CloudFront в консоли AWS и создайте первый веб-дистрибутив. Для создания веб-дистрибутива доступно множество настроек, но для основы нам нужно изменить только пять: Исходное доменное имя: укажите конечную точку веб-сайта S3 для одного из сегментов. Важно: это поле предоставит вам некоторые варианты автозаполнения с именами корзин S3. Однако их использование может вызвать проблемы с перенаправлением на конечную точку корзины. Поэтому вместо этого используйте конечную точку корзины напрямую. Идентификатор происхождения: заполняется для вас, когда вы вводите доменное имя источника. Политика протокола средства просмотра: установите значение «Перенаправить HTTP на HTTPS». Альтернативные доменные имена: это имя должно совпадать с именем корзины S3, на которую вы указываете. Например, «mywebsite.com». SSL-сертификат: выберите «Пользовательский SSL-сертификат» и выберите новый сертификат из раскрывающегося списка. Сделайте это снова для второго сегмента S3. Раскрутка дистрибутива может занять некоторое время, поэтому, пока мы ждем, давайте сделаем завершающие шаги. Вернуться в **S3 перейдите в свою дополнительную корзину (www.mywebsite.com), на вкладке «Свойства» и в разделе «Хостинг статического веб-сайта» установите протокол перенаправления на HTTPS. Наконец, вернитесь к **Route53 Нам необходимо обновить созданные нами пользовательские записи A, чтобы теперь они были нацелены на дистрибутивы CloudFront, а не на корзины S3. Для каждой записи измените целевой псевдоним и выберите дистрибутив CloudFront, доступный в раскрывающемся списке. Примечание. Опять же, если вы используете другую службу DNS, вам нужно обновить запись CNAME оттуда, чтобы она указывала на доменное имя CloudFront. И вот оно! Ваш красивый веб-сайт теперь доступен на пользовательском домене и обслуживается по протоколу HTTPS! Спасибо за чтение! Я надеюсь, что это руководство было полезным и приятным, я хотел бы знать, если вы нашли его полезным.