Как настроить Nginx для HTTPS

Недавно мы настроили VPS в DigitalOcean, используя официальный дроплет Node.js, который устанавливает Ubuntu Linux с Node и Nginx в качестве обратного прокс. Это посредник между пользователями и вашими приложениями Node.js.

По умолчанию дроплет настроен на использование HTTP, но мы хотим, чтобы наши приложения обслуживались с использованием HTTPS.

Итак, нам нужно выполнить небольшую процедуру, которая включает использование Certbot для получения сертификата SSL через Let's Encrypt и настройку Nginx для его использования.

Вот шаги, которые мы будем выполнять:

  • Установите Certbot и пакет Certbot Ngin
  • Настроить Nginx
  • Создайте сертификат SSL с помощью Certbot

Установите Certbot и пакет Certbot Nginx

Эти инструкции предполагают, что вы используете Ubuntu, Debian или любой другой дистрибутив Linux, который используется apt-get для управления пакетами:

sudo apt-get install certbot python3-certbot-nginx

Настроить Nginx

Отредактируйте /etc/nginx/sites-available/default чтобы установить правильное имя сервера (необходимо для SSL)

sudo nano /etc/nginx/sites-available/default

найдите строку server_name и введите свое доменное имя:

server_name my.domain.com;

Теперь:

sudo systemctl reload nginx

Перезагрузите Nginx с обновленной конфигурацией.

Брандмауэр уже должен быть настроен для приема HTTPS. Что бы это проверить, набрите: sudo ufw status. Вы должны увидеть Nginx Full в списке. 

Создайте сертификат SSL с помощью Certbot

Теперь мы можем вызвать Certbot для генерации сертификата. Вы должны запустить это как root:

sudo certbot --nginx -d my.domain.com

(естественно, my.domain.com смените на свое доменное имя)

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

Также мы предлагаем выбрать вариант автоматического перенаправления HTTP на HTTPS.

Это оно!

SSL-сертификаты действительны в течение 90 дней и Certbot уже настроен для автоматического продления. Чтобы смоделировать и протестировать процесс обновления, запустите:

sudo certbot renew --dry-run

Вам должно поступить собщение об успешносном выполнении.

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

Комментарии ()

    Написать комментарий