Джорджія Нола # Простий хостинг сайту з Amazon S3 і HTTPS Привіт люди! У цьому підручнику я покажу вам, як розмістити статичний веб-сайт із HTTPS на AWS із власним доменом. Все це можливо за допомогою безкоштовного рівня AWS Однак послуги, якими ми збираємося користуватися, стягують невелику плату. Загалом вони не повинні перевищувати 1 дол. США на місяць Ми використовуватимемо комбінацію таких служб AWS: âÃÂÃÂS3 âÃÂàМаршрут 53 âÃÂàМенеджер сертифікатів âÃÂàCloudFront *Давайте приступимо до цього!* Налаштуйте відра S3 По-перше, вам знадобиться **два сегменти S3 мають відповідати вашому доменному імені, а другий має включати субдомен www Відро 1: Відро 2: Перше відро (mywebsite.com) є основним для вашого сайту. Тут містяться всі ваші файли та ресурси для вашого статичного веб-сайту Далі ми налаштовуємо це відро для розміщення статичного сайту. Ви можете знайти це на вкладці «Властивості» сегмента, і ми збережемо наведені тут параметри за замовчуванням, а для індексу сайту буде встановлено index.html. Нам також потрібно зробити це відро доступним, оскільки браузер користувача потребуватиме доступу до файлів відра, щоб відтворити веб-сайт. Ми можемо зробити це, встановивши політику відра на вкладці «Дозволи». { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "Action": "s3:GetObject", "Ресурс": "MY_BUCKET_ARN"} ]} Це проста політика, яка дозволить лише відкритий доступ для читання об’єктів у відрі. Тепер, якщо ви підете до кінцевої точки, визначеної в конфігурації статичного хостингу сегмента, ви побачите свій веб-сайт Прогрес! Але ми можемо зробити краще, ніж це Друге відро (www.mywebsite.com) ми залишимо порожнім, але налаштуємо переспрямування до нашого першого відра за допомогою HTTP як протоколу (ми зробимо це HTTPS пізніше) Тепер ваші відра готові до роботи! Налаштування доменів за допомогою Route53 Отже, ваш веб-сайт запущений і працює, але доступний лише через кінцеву точку сегмента, а не через ваш власний домен. Давайте змінимо це Направлятися до **Route53 Якщо ви зареєстрували свій домен у реєстратора Amazon, ви побачите, що для вас налаштовано розміщену зону з двома наборами записів. Один для сервера імен (NS) і один для SOA Все, що нам потрібно зробити, це створити ще два набори записів, які вказуватимуть на кінцеві точки відра S3 Для кожного набору записів: âÃÂàТип: A âÃÂàадреса IPv4 âÃÂàПсевдонім: Так âÃÂÃÂ Цільовий псевдонім: кінцева точка веб-сайту S3, яка відповідає тому, що ви встановили для імені Тепер ми можемо перейти до спеціальної urlâÃÂæі вуаля! Ми майже на місці, але є ще одне, чого нам не вистачає. ÃÂæ **Примітка. Якщо ваш домен зареєстровано в іншого реєстратора доменів (не Amazon), вам потрібно буде виконати кілька інших кроків, щоб налаштувати це. Зазвичай вам потрібно буде додати запис CNAME зі значенням основної кінцевої точки сегментів S3. **Вирішення проблем Якщо ви видалили розміщену зону, створену Amazon, коли ви вперше зареєстрували домен (я зробив це, оскільки розміщені зони стягують певну плату), ви потрібно буде створити нову розміщену зону з нуля - Виберіть âÃÂÃÂCreate Hosted ZoneâÃÂàі встановіть ім'я домену, наприклад âÃÂÃÂ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. Однак їх використання може спричинити проблеми з перенаправленням до кінцевої точки сегмента. Тому натомість використовуйте безпосередньо кінцеву точку сегмента. Ідентифікатор джерела: заповнюється, коли ви вводите ім’я домену походження. Політика протоколу перегляду: установіть значення âÃÂÃÂRedirect HTTP to HTTPSâÃÂGV. Альтернативні доменні імена: вони мають відповідати назві сегмента S3, на який ви вказуєте. Наприклад, âÃÂÃÂmywebsite.comâÃÂÃÂ. Сертифікат SSL: виберіть «Custom SSL Certificate» і виберіть свій новий сертифікат зі спадного меню. Зробіть це ще раз для другого відра S3 Розвиток дистрибутивів може зайняти деякий час, тож поки ми чекаємо, давайте виконаємо завершальні кроки Повернутися в **S3 перейдіть до свого додаткового сегмента (www.mywebsite.com), на вкладці «Властивості» та в розділі «Статичний хостинг веб-сайтів» установіть протокол перенаправлення на HTTPS Нарешті поверніться до **Route53 Нам потрібно оновити спеціальні записи A, які ми створили, щоб тепер націлювати їх на дистрибутиви CloudFront, а не на сегменти S3. Для кожного запису змініть цільовий псевдонім і виберіть розповсюдження CloudFront, доступне у спадному списку Примітка: знову ж таки, якщо ви використовуєте іншу службу DNS, вам потрібно буде оновити запис CNAME звідти, щоб вказувати на доменне ім’я CloudFront. І ось воно! Ваш чудовий веб-сайт тепер доступний у спеціальному домені та обслуговується через HTTPS! Дякуємо за читання! Сподіваюся, цей посібник був корисним і приємним. Мені хотілося б знати, чи він був для вас корисним.