Рубрики
Без рубрики

Развертывание готового к производству приложения Django на AWS

В этом уроке я перейду к тому, как развернуть приложение Django от начала до конца, используя AWS … Tagged с Python, Django, AWS.

В этом уроке я пойду к тому, как развернуть приложение Django от начала до конца с использованием AWS и EC2. Недавно мой партнер Ту Во И я запустил наше приложение Hygge Homes (Приложение для аренды дома для отдыха для поиска и бронирования домов для отдыха на основе Airbnb), и мы хотели поделиться с другими разработчиками некоторыми уроками, которые мы извлекли по пути.

После этого учебника у вас будет приложение, которое имеет:

  • Сервер AWS EC2, настроенный для размещения вашего приложения
  • SSL-сертификация с Certbot
  • Пользовательское доменное имя
  • Непрерывное развертывание с помощью GitHub Decicts/Agent SSM

    Мы предоставили фиктивное репо, чтобы следовать вместе с Здесь , но не стесняйтесь применить его к своему приложению по мере необходимости.

Оглавление

  • Планировка проекта
  • Предварительное просмотр проекта
  • Предварительное просмотр проекта Django-App с Docker
    • Установите Docker
    • Очистка контейнера и изображения
  • Предварительное просмотр проекта Django-App Локально
  • Создание учетной записи AWS
  • Создание экземпляра AWS EC2
    • EC2 Консоль
    • Ами
    • Группы безопасности
    • Детали экземпляра
    • Ключевые пары
    • Эластичный IP
    • Подключение к экземпляру EC2
  • Настройка среды EC2
    • Настройка брандмауэра
    • Установка зависимостей
    • Настройка проекта на удаленном сервере
    • Настройка надзора
    • Настройка Nginx
  • Настройка непрерывного развертывания
    • Активировать агент SSM
    • Создать роль SSM
    • Назначьте роль SSM экземпляру EC2
    • Секреты GitHub
    • Сценарий развертывания
    • YML -файл
    • Проблемы с действиями GitHub
  • Настройка вашего домена
    • Создание доменных записей
    • Настройка нашего веб -сервера
  • Https
    • Установка сертификата
  • Заключительные мысли

Планировка проекта

Вот макет проекта:

django-app
|___ backend/ (Django Backend settings)
|   |___ settings.py
|___ static_files/
|___ templates/ (Django Templates)
|   |___ index.html
|___ manage.py
|___ requirements.txt

Предварительное просмотр проекта

Начните с клонирования проекта с помощью команды:

$ git clone https://github.com/rmiyazaki6499/django-app.git

Предварительное просмотр проекта Django-App с Docker

Установите Docker

Чтобы сделать это как можно проще, мы будем использовать Docker Compose Чтобы создать свой контейнер.

  • Если у вас еще нет Docker, начните с его загрузки, если вы находитесь на Mac или Windows: https://www.docker.com/products/docker-desktop

  • Или если вы находитесь в распределении Linux, следуйте указаниям здесь: https://docs.docker.com/compet/install/

  • Чтобы подтвердить, что у вас есть Docker Compose, откройте свой терминал и запустите команду ниже:

  • Зайдите в каталог проектов, чтобы построить и запустить контейнер с:

  • Перейдите к http://localhost: 8000 , вы должны увидеть что -то вроде этого:

Очистка контейнера и изображения

  • Чтобы остановить запуск контейнера, используйте дважды.
  • Чтобы закрыть контейнер, используйте команду:

  • Затем для очистки контейнера и изображения, которые мы больше не используем, используйте команду:

  • Подтвердите, что контейнера и изображения больше нет с:

Предварительное просмотр проекта Django-App локально

Чтобы просмотреть проект на вашей локальной машине, следуйте указаниям ниже.

  • Создайте виртуальную среду:

  • Установите зависимости для django (убедитесь, что у вас есть PIP ( https://pip.pypa.io/en/stable/installing/)):

  • Перенести в базу данных и собирайте статические файлы:

  • Запустите сервер разработки со следующей командой:

  • Запустите производственный сервер со следующей командой:

    Перейдите к http://localhost: 8000 Чтобы просмотреть сайт на локальном сервере. Это должно выглядеть примерно так:

Создание учетной записи AWS

Почему выбирают AWS?

  • Он предлагает много бесплатных услуг для новых учетных записей.
  • Очень популярен среди стартапов и даже предприятий.
  • Поддержка обслуживания клиентов, по нашему мнению, на шаг выше конкуренции.
  • Если у вас нет учетной записи, ознакомьтесь с этим пошаговым руководством от Amazon Здесь Анкет

    Прежде чем вы предоставите новый сервер, наилучшей практикой будет убедиться, что ваша учетная запись будет максимально безопасной, следуя подсказкам в вашем контрольном списке статуса безопасности. Это можно найти под вкладкой IAM с домашней страницы вашей консоли.

Создание экземпляра AWS EC2

Amazon EC2 или Elastic Compute Cloud является одним из основных продуктов/услуг AWS и является основным строительным блоком для многих других услуг AWS. Это позволяет пользователям, по сути, арендовать виртуальные компьютеры, на которых можно запускать свои собственные приложения. Вы можете узнать больше о EC2 Здесь Анкет

Начните с того, что зайдите в консоль AWS и перейдя на вкладку EC2. Легкий способ добраться туда – через ссылку службы вверху и поиск EC2 в подсказке.

Мы рекомендуем установить ваш регион AWS для самой ближайшей к вам или вашей предполагаемой аудитории. Тем не менее, обратите внимание, что не все услуги AWS будут доступны в зависимости от региона. Для нашего примера мы будем работать из США-Востока-1, поскольку этот регион поддерживает все услуги AWS.

EC2 Консоль

Вы должны увидеть этот экран (по состоянию на июль 2020 г.):

Перейти к Запуск экземпляров Ссылка на приборной панели EC2 и нажмите экземпляр запуска.

Ами

На этом шаге AWS побудит вас выбрать AMI. AMI – это шаблоны для настройки новых экземпляров. Для этого урока мы будем использовать Ubuntu 18.04 64-бит (бесплатный уровень).

Далее выберите t2.micro Тип экземпляра.

На следующем экране продолжайте нажимать дальше, пока не увидите опцию Настройка группы безопасности Анкет

Группы безопасности

Группы безопасности являются виртуальными брандмауэрами для ваших экземпляров.

ВАЖНО: По умолчанию существует неявное отрицание во всех портах, что означает, что если вы не добавляете правила, весь входящий/исходящий трафик заблокирован. Группы безопасности также являются государственными, что означает, что установление входящих правил для определенного порта также повлияет на исходящие правила для этого порта.

Установите настройки группы безопасности следующим образом:

Настройка в любом месте на источнике для пользовательского TCP будет отображать предупреждающий флаг, но вы можете игнорировать это для этого урока. В идеале вы хотите только установить известные IP -адреса.

SSH 22 Порт для SSH’ing на ваш сервер
Http 80 Порт для HTTP -запросов на ваш веб -сервер
Https 443 Порт для запросов HTTPS на ваш веб -сервер
Пользовательский TCP 8000 Порт Какой Джанго будет бежать
Пользовательский TCP 5432 Порт, на котором можно подключиться к PostgreSQL

Как вы можете видеть с предупреждением в нижней части экрана, вы не хотите устанавливать свой SSH Source IP как где угодно. Это создаст уязвимость безопасности, так как любой может попытаться войти в свой сервер.

Поэтому обязательно установите его на свой собственный IP -адрес и любой другой IP -адрес, который может потребовать доступа к экземпляру.

Детали экземпляра

Нажмите вперед, чтобы Обзор и запуск Чтобы просмотреть все конфигурации вашего экземпляра/AMI. Если конфигурации выглядят правильно, идите вперед и нажмите Запуск Анкет

Ключевые пары

После того, как вы запустите экземпляр, AWS предложит вам создать пару ключей. Пара ключей состоит из открытого ключа, который магазины AWS и файл частного ключа, который вы храните. Вместе они позволяют вам безопасно подключаться к вашему экземпляру с помощью асимметричного шифрования.

Если это первый раз, когда вы создаете пару ключей для своего проекта, выберите Создайте новую пару ключей Из выпадения и добавьте имя для пары клавиш.

Обязательно храните пару ключей в безопасном месте. Он генерируется только один раз, и AWS не будет иметь к нему доступа, если вы потеряете его. Это ваш единственный способ войти в экземпляр EC2 через SSH.

Как только вы скачали Пара ключей Обязательно переместите .pem Задайте в корневой каталог вашего проекта на вашем локальном компьютере.

Затем проверьте флажок, признавая, что у вас есть доступ к паре закрытых ключей, и нажмите экземпляры запуска. Это должно перейти на страницу статуса запуска.

Доступ к экземпляру EC2

Нажмите на вкладку экземпляров на консоли EC2.

Экземпляр может занять пару минут, чтобы запустить. Как только он пройдет свои проверки статуса, состояние экземпляра должно показывать зеленый круг и состояние «бега».

Эластичный IP

Прежде чем вы сможете войти в экземпляр EC2, важно сначала сгенерировать упругой IP и связать его с вашим экземпляром EC2.

Эластичный IP – это выделенный IP -адрес для вашего экземпляра EC2. Хотя экземпляр имеет общедоступный IP -адрес, назначенный при создании, этот IP -адрес является динамическим и не сохраняется, если вы остановитесь и запускаете экземпляр. С помощью упругого IP -адреса вы можете замаскировать сбой экземпляра, переведя адрес в другой экземпляр в вашей учетной записи.

Поэтому, используя упругой IP, вы можете иметь выделенный IP -адрес, к которому пользователи из Интернета могут получить доступ к вашему экземпляру. Это пригодится позже, когда вы назначите пользовательское доменное имя и добавляете сертификацию SSL на сервер.

ПРИМЕЧАНИЕ. Если вы используете бесплатный уровень, AWS зарядит вас, если ваш Elastic IP не связан с идентичностью AWS.

На приборной панели EC2 посмотрите под Сеть и безопасность вкладка и перейти к Эластичный IPS :

Это должно привести вас сюда:

Нажмите на Выделите эластичный IP -адрес Анкет

Это должно привести вас сюда:

Выберите Выделить Анкет

Это должно создать эластичный IP. Следующий шаг – связать этот упругой IP с экземпляром.

С упругим IP -проверкой на левой стороне:

  • Перейти к действиям
  • Нажмите на Ассоциированный эластичный IP -адрес
  • Убедитесь, что ваш тип ресурса – это экземпляр
  • Поиск вашего экземпляра (если это ваш первый раз, он должен быть единственным)
  • Нажмите Ассоциирован

    Чтобы проверить, правильно ли сделано, перейдите на вкладку экземпляров и в деталях экземпляра, вы должны увидеть Elastic IP.

Подключение к экземпляру EC2

С помощью экземпляра, выбранного в консоли EC2, нажмите «Подключиться к вершине». Вам будет предложено с указанием подключения к экземпляру EC2:

  • Изменение разрешения файла .pem на только для чтения гарантирует, что никто не может изменить ваш личный ключ.

Подключение к экземпляру EC2

Теперь, когда у нас есть наш экземпляр и выделили на него упругой IP. Пришло время подключиться к нашему серверу!

Если у вас еще нет, перейдите в Экземпляры Ссылка на приборной панели EC2.

С выделенным экземпляром нажмите Соединять На верхнем баннере приборной панели Emestaces.

Это должно дать вам всплывание с указаниями о том, как подключиться к вашему экземпляру EC2.

Вернитесь в свой проект root Directory и убедитесь, что ваш .pem Файл имеет правильные разрешения.

Запустите команду:

$ chmod 400 *.pem

Затем запустите команду, данную вам в примере:

$ ssh -i ".pem" ubuntu@.compute-1.amazonaws.com

SSH должен побудить вас, что подлинность хоста экземпляр не может быть установлен и покажет отпечаток пальца ECDSA. Это также спросит вас Вы уверены, что хотите продолжить подключение (да/нет)?

Тип Да и Введите Анкет

Это должно привести вас в экземпляр EC2. Если нет, попробуйте ssh командовать снова.

Поздравляю, что вы находитесь в вашем экземпляре EC2!

Настройка среды EC2

После того, как вы войдете в свой сервер, мы установим все зависимости проекта: мы установим следующее:

  • Django и Python3
  • пип
  • стрелобь
  • Nginx
  • UFW (брандмауэр)

Настройка брандмауэра

Включить брандмауэр и разрешить OpenSsh

% sudo ufw enable
% sudo ufw allow OpenSSH
% sudo ufw allow 'Nginx Full'

Проверьте, чтобы убедиться, что мы разрешаем OpenSsh

% sudo ufw status

Ожидаемый выход:

To                         Action      From
--                         ------      ----
Nginx Full                 ALLOW       Anywhere
OpenSSH                    ALLOW       Anywhere
Nginx Full (v6)            ALLOW       Anywhere (v6)
OpenSSH (v6)               ALLOW       Anywhere (v6)

Установка зависимостей

Обновление пакетов:

% sudo apt update
% sudo apt upgrade

Установка Python 3, Postgresql, Nginx и стрелобник:

% sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx gunicorn curl

Настройка проекта на удаленном сервере

Вспомните шаги ранее, мы сделали с фиктивным проектом на нашей местной машине. Мы повторим это в экземпляре EC2.

% git clone https://github.com/rmiyazaki6499/django-app.git
% python3 -m venv env
% source env/bin/activate
% pip3 install -r requirements.txt
% python3 manage.py makemigrations
% python3 manage.py migrate
% python3 manage.py collectstatic

ПРИМЕЧАНИЕ. Обязательно обновите свой файл .env, чтобы ваш проект имел правильные различия в среде, необходимые для запуска.

Настройка надзора

Создайте файл ошеломления.

% sudo vim /etc/systemd/system/gunicorn.socket

Настройте файл Gunicorn.socket с помощью:

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target

Далее настройте файл Gunicorn.service с помощью:

% sudo nano /etc/systemd/system/gunicorn.service

Используйте конфигурации ниже:

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=djangoadmin
Group=www-data
WorkingDirectory=/home/ubuntu/
ExecStart=/home/djangoadmin/pyapps/venv/bin/gunicorn \
--access-logfile - \
--workers 3 \
--bind unix:/run/gunicorn.sock \
.wsgi:application

[Install]
WantedBy=multi-user.target

Начните и включите оружие:

% sudo systemctl start gunicorn.socket
% sudo systemctl enable gunicorn.socket

Проверьте статус стрелкового коса с помощью:

% sudo systemctl status gunicorn.socket

Настройка Nginx

Затем нам нужно настроить Nginx для перенаправления веб -трафика.

Создайте новый файл конфигурации Nginx со следующей командой:

% sudo vim /etc/nginx/sites-available/

Вставьте в следующие конфигурации и замените любой из разделов All Caps на свои собственные детали проекта:

server {
listen 80;
server_name YOUR_INSTANCE_IP_ADDRESS;

location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/;
}

location /media/ {
root /home/ubuntu/;    
}

location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}

После того, как ваша конфигурация nginx будет настроена, убедитесь, что нет синтаксических ошибок с:

% sudo nginx -t

Затем создайте мягкую ссылку вашего файла конфигурации из сайтов, доступных для каталога с поддержкой сайтов. Этот шаг важен, потому что NGINX будет использовать настройки конфигурации, расположенные по адресу/etc/nginx/sites-viailable/по умолчанию по умолчанию, если в сфере сайтов ничего нет.

% sudo ln -s /etc/nginx/sites-available/ /etc/nginx/sites-enabled

Перезапустите веб -сервер Nginx с помощью:

% sudo systemctl restart nginx

Теперь, если вы перейдете к своему упругую IP в своем браузере, он должен показывать приложение!

Вернуться к содержимому

Настройка непрерывного развертывания

Непрерывное развертывание полезно, потому что оно экономит время от необходимости в SSH в ваш экземпляр EC2 каждый раз, когда вы обновляете свою кодовую базу.

В этом проекте мы будем использовать действие GitHub под названием AWS SSM Send-Command создан Peterkimzz Для реализации автоматического развертывания.

Действия GitHub

Действия GitHub – это услуга GitHub, которая позволяет вам выполнять такие действия, как сценарии запуска каждый раз, когда что -то происходит с хранилищем. В нашем случае мы запустим сценарий для установки новейших зависимостей и перезагрузить наш сервер каждый раз, когда нажимается, чтобы получить мастер.

Для действий GitHub для работы необходим способ общаться с экземпляром EC2 и наоборот. Чтобы сделать это, нам нужно назначить разрешения через роли IAM.

Создать роль SSM

Чтобы создать IAM Роль с Amazonssmfullaccess Разрешения:

  • Откройте консоль IAM в https://console.aws.amazon.com/iam/ Анкет
  • На панели навигации выберите Роли , а затем нажмите Создать роль Анкет
  • Под Выберите тип доверенной сущности , выберите AWS Service Анкет
  • В Выберите вариант использования Раздел, выберите EC2 , а затем выберите Следующий: Разрешения Анкет
  • На странице политики прикрепленных разрешений на поиск Amazonssmfullaccess Политика, выберите, а затем выберите Далее: обзор Анкет
  • На Обзор Страница, введите имя в поле «Название», а затем введите описание.
  • Выберите Создать роль Анкет Система возвращает вас на страницу ролей.

Присвоение роли SSM экземпляру EC2

Как только у вас есть Роль созданный:

  • Перейти к Dashboard EC2 экземпляра
  • Перейти к Экземпляры ссылка на сайт
  • Выделите экземпляр
  • Нажмите на Действия
  • Настройки экземпляра
  • Прикрепите/замените свою роль
  • Выберите роль SSM, которую вы создали ранее
  • Хит Применить Чтобы сохранить изменения

Секреты GitHub

Поскольку наш экземпляр может использовать агент SSM, нам нужно будет предоставить ему некоторые детали, чтобы он мог получить доступ к нашему экземпляру EC2.

Теперь, когда экземпляр способен общаться с GitHub через агент SSM, вам необходимо предоставить репо об атмосферах. Секреты GitHub действуют как переменные среды для репозиториев и хранят конфиденциальные данные, такие как информация о входе в систему AWS. Для работы сценария действий GitHub ему нужны эти три секрета: AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY и ENSTAME_ID.

Есть статья от AWS о том, как найти свой ключ AWS Access и Cescret Access Здесь Анкет Ваш идентификатор экземпляра отображается на вашей вкладке экземпляров под EC2.

Начните с перейти к вашему проекту GitHub Repo:

  • Тогда зайдите в свой Настройки
  • В меню слева ищите ссылку для Секреты
  • Там добавьте три Секреты С этими ключами:

    • Aws_access_key_id
    • AWS_SECRET_ACCESS_KEY
    • Exance_id

      Однажды это Секреты установлены, мы готовы двигаться дальше!

Сценарий развертывания

Далее, давайте создадим скрипт Bash для загрузки зависимостей и перезапуска Nginx и PM2. Внутри экземпляра EC2 создайте сценарий deploy.sh в корне каталога:

% vim deploy.sh

Заполните содержимое командами Bash, которые мы запустили, чтобы создать проект ранее:

#!/bin/sh     
sudo git pull origin master
sudo pip3 install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py collectstatic
sudo systemctl restart nginx
sudo systemctl restart gunicorn

Ямл файл

AWS SSM Send-Command требуется файл .yml для выполнения. В основе проекта создайте эти два каталога:

% mkdir -p .github/workflows/

Создайте новый файл YAML с:

% sudo vim .github/workflows/deploy.yml

Вставьте в следующее:

name: Deploy using AWS SSM Send-Command 

on:
    push:
        branches: [master]

jobs:
    start:
        runs-on: ubuntu-latest 

        steps:
        - uses: actions/checkout@v2

        - name: AWS SSM Send Command
        uses: peterkimzz/aws-ssm-send-command@1.0.1
        with:
        aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID  }}
        aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY  }}
        aws-region: us-east-1
        instance-ids: ${{ secrets.INSTANCE_ID  }}
        comment: Deploy the master branch
        working-directory: /home/ubuntu/
        command: /bin/sh ./deploy.sh

Секреты, которые мы предоставили репо, ранее используются в этом сценарии.

Есть 3 части файла .yml для настройки:

  1. AWS-регион должен быть тем же регионом, что и в случае создания экземпляра EC2. (Если вы не знаете, проверьте верхнюю левую часть вашей консоли EC2, чтобы подтвердить область, в которой вы находитесь).
  2. Рабочий режим должен быть каталогом, где вы создали сценарий Deploy.sh.
  3. Команда должна быть командой, которую вы хотели бы, чтобы агент SSM запустил.

Как только это будет завершено, совершите и подтолкните рабочий процесс в ваш репо.

Настройка вашего домена

Пока что пользователи могут получить доступ к сайту, используя Elastic IP. Тем не менее, это может быть трудно запомнить и поделиться, поэтому мы настроим пользовательское доменное имя.

Чтобы начать, вам нужно сначала купить домен. Это может варьироваться от 10 до 1000 долларов+с. У Amazon есть сервис под названием Route53, который вы можете использовать, или вы можете выбрать других поставщиков, таких как Домены Google В Godaddy , так далее. (Мы использовали Google для Algoacademy, который составлял 10 долларов в год).

Есть два шага, которые вам нужно настроить для подключения проекта с помощью пользовательского домена:

  • Создать доменные записи с помощью DNS -регистратора
  • Настройте Nginx на экземпляре EC2, чтобы распознать домен

Создание доменных записей

Начнем с настройки наших DNS с записями:

  • Перейти к DNS часть вашего регистратора.
  • Найдите, где вы можете создать пользовательские записи ресурсов.

Установите записи так:

1H Ваш экластичный IP-адрес @ A
1H your-awesome-site.com www Cname

Настройка нашего веб -сервера

Отредактируйте файл конфигурации Nginx в экземпляре EC2:

% sudo vim /etc/nginx/sites-available/default

Обновите Сервер: Server_name Раздел файла конфигурации:

server {
server_name  your-awesome-site.com www.your-awesome-site.com;
...

Сохраните и перезапустите Nginx:

sudo sudo systemctl restart nginx

Изменения в DNS могут занять до 48 часов, чтобы обновлять, чтобы ваши результаты могли варьироваться. После того, как он будет завершен, перейти в свой собственный домен должен перенаправить вас в ваше приложение.

Https

Secure Sockets Layer (SSL) – это стандартная технология безопасности для установления зашифрованной связи между сервером и клиентом. До сих пор мы обслуживали веб -контент через HTTP, что может быть опасно, поскольку данные, отправляемые между сервером и клиентом, не зашифрованы. Если вы занимаетесь входом в систему и необходимо защищать такие данные, как пароли или информацию о кредитной карте, всегда является наилучшей практикой, чтобы получить сертификацию SSL в ваших приложениях.

В этом уроке мы будем использовать Certbot от LetsEncrypt.org, некоммерческой организации, которая предоставляет бесплатные сертификаты SSL.

Установка сертификата

В вашем браузере перейдите к https://certbot.eff.org/instructions Анкет

Выберите программное обеспечение и операционную систему (ОС), которую вы используете. В этом случае мы используем Nginx и Ubuntu 18.04 LTS (Bionic).

Внутри экземпляра EC2 следуйте инструкциям командной строки, пока не увидите эти инструкции:

% sudo certbot --nginx

После запуска этой команды Certbot представит вам следующую подсказку: для каких имен вы бы хотели активировать HTTPS?

Если Nginx настроен правильно, он должен показывать как ваш корневой домен, так и с поддоменом WWW:

1: your-awesome-site.com
2: www.your-awesome-site.com

Выберите Enter, чтобы активировать как HTTP, так и HTTPS. Следующая подсказка будет:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the web server configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.

Выберите опцию 2, так как это будет перенаправить весь трафик через HTTPS и является наиболее безопасным вариантом. После этого Certbot внесет изменения в файл конфигурации NGINX.

Примечание. Как только ваш сайт использует https, дважды проверьте вызовы API и убедитесь, что они пойдут на https://andpoint, а не http://. Это может быть ненужной меры предосторожности, но это легкая ошибка.

Затем перейдите в свой собственный домен. Проверьте, есть ли значок блокировки рядом с вашим URL.

Поздравляю! Вы успешно развернули веб -приложение с HTTPS!

Заключительные мысли

Я надеюсь, что это помогло тем, кто начинает работу с веб -разработкой и AWS. Если вы столкнетесь с любыми проблемами, пожалуйста, не стесняйтесь обращаться ко мне или Tu И мы можем попытаться помочь. Спасибо за чтение!

Вернуться к содержимому

Оригинал: “https://dev.to/rmiyazaki6499/deploying-a-production-ready-django-app-on-aws-1pk3”