Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Linux Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

Как Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Nginx с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Let’s Encrypt SSL Π½Π° Ubuntu (ПолноС руководство 2025)

HTTPS большС Π½Π΅ являСтся ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ. Π’ 2025 Π³ΠΎΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π²Π΅Π±-сайту Π½ΡƒΠΆΠ½ΠΎ SSL/TLS ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½ΠΎ ΠΈ для ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ ранТирования Π² Google Search ΠΈ соотвСтствия трСбованиям бСзопасности соврСмСнных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². Let’s Encrypt Π΄Π΅Π»Π°Π΅Ρ‚ это достиТимым бСсплатно, прСдлагая Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, автоматичСски обновляСмыС SSL сСртификаты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΠΎ с Nginx Π½Π° Ubuntu.

Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг: установка Certbot, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ SSL сСртификата Let’s Encrypt, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ автоматизация ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ β€” всС Π½Π° сСрвСрС Ubuntu 18.04, 20.04 ΠΈΠ»ΠΈ 22.04 с Nginx.

НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, управляСтС Π»ΠΈ Π²Ρ‹ срСдой VPS Hosting ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π²Π΅Π±-сСрвСром, это руководство Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΊ использованию Π² производствС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ HTTPS ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° 15 ΠΌΠΈΠ½ΡƒΡ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ SSL Π²Π°ΠΆΠ΅Π½ для Nginx Π² 2025

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ, стоит ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅, Π·Π°Ρ‰ΠΈΡ‚ΠΈΠ² Nginx с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Let's Encrypt:

  • Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…: HTTPS ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ вашим сСрвСром ΠΈ посСтитСлями, прСдотвращая Π°Ρ‚Π°ΠΊΠΈ Β«Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ посСрСдинС» ΠΈ ΠΏΠΎΠ΄ΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΠ΅.
  • Π‘ΠΈΠ³Π½Π°Π»Ρ‹ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° SEO: Google ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ» HTTPS ΠΊΠ°ΠΊ Ρ„Π°ΠΊΡ‚ΠΎΡ€ ранТирования. Π‘Π°ΠΉΡ‚Ρ‹ Π±Π΅Π· SSL Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡˆΡ‚Ρ€Π°Ρ„ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… поиска.
  • Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ довСрия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°: Chrome, Firefox ΠΈ Edge ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ прСдупрСТдСния "НСбСзопасно" для сайтов HTTP, Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Ρ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ увСличивая ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ².
  • БСсплатно ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ: Let's Encrypt Π²Ρ‹Π΄Π°Π΅Ρ‚ сСртификаты бСсплатно, Π° Certbot автоматичСски ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ продлСния β€” устраняя Ρ€ΡƒΡ‡Π½Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ сСртификаты.
  • PCI DSS ΠΈ соотвСтствиС: Π›ΡŽΠ±ΠΎΠΉ сайт, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ ΠΈΠ»ΠΈ Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎ Π·Π°ΠΊΠΎΠ½Ρƒ обязан ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ соСдинСния.

Если ваш Π΄ΠΎΠΌΠ΅Π½ ΡƒΠΆΠ΅ зарСгистрирован ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ваш сСрвСр, Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ. Если Π²Π°ΠΌ всС Π΅Ρ‰Π΅ Π½ΡƒΠΆΠ΅Π½ Π΄ΠΎΠΌΠ΅Π½, AlexHost ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² с ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ DNS.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ условия ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ:

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅Π”Π΅Ρ‚Π°Π»ΠΈ
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСмаUbuntu 18.04, 20.04 ΠΈΠ»ΠΈ 22.04 LTS
Π’Π΅Π±-сСрвСрNginx установлСн ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ обслуТиваСт ваш сайт
Π”ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имяЗарСгистрированный Π΄ΠΎΠΌΠ΅Π½ с A-записью, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP вашСго сСрвСра
Доступ ΠΊ сСрвСруSSH доступ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ sudo ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ
Π‘Ρ€Π°Π½Π΄ΠΌΠ°ΡƒΡΡ€ΠŸΠΎΡ€Ρ‚Ρ‹ 80 (HTTP) ΠΈ 443 (HTTPS) ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π² UFW ΠΈΠ»ΠΈ iptables
Доступ rootНС трСбуСтся строго, Π½ΠΎ sudo доступ обязатСлСн

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Nginx Π·Π°ΠΏΡƒΡ‰Π΅Π½

ΠŸΠ΅Ρ€Π΅Π΄ установкой Certbot ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Nginx Π°ΠΊΡ‚ΠΈΠ²Π΅Π½:

sudo systemctl status nginx

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ active (running) Π² Π²Ρ‹Π²ΠΎΠ΄Π΅. Если Nginx Π½Π΅ установлСн, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo apt update && sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ брандмауэра

Если UFW Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ HTTP ΠΈ HTTPS:

sudo ufw allow 'Nginx Full'
sudo ufw reload
sudo ufw status

Π’Ρ‹Π²ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Nginx Full ΠΊΠ°ΠΊ ALLOW для IPv4 ΠΈ IPv6.

Π¨Π°Π³ 1 β€” Установка Certbot ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Nginx

Certbot β€” это ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Let's Encrypt. Он Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ вСсь ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» сСртификата: Π²Ρ‹Π΄Π°Ρ‡Ρƒ, установку ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Плагин python3-certbot-nginx позволяСт Certbot Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Nginx ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Ρ‘ автоматичСски.

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкс ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ВсСгда обновляйтС списки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ установкой Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния:

sudo apt update
sudo apt upgrade -y

УстановитС Certbot с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Nginx

sudo apt install certbot python3-certbot-nginx -y

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ установку

certbot --version

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (вСрсия ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ):

certbot 2.x.x

> ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ubuntu 18.04: Если вСрсия Certbot ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² APT устарСла, установитС Ρ‡Π΅Ρ€Π΅Π· Snap для получСния послСднСй вСрсии:

> β€œ`bash

> sudo snap install –classic certbot

> sudo ln -s /snap/bin/certbot /usr/bin/certbot

> β€œ`

Π¨Π°Π³ 2 β€” Настройка Π±Π»ΠΎΠΊΠ° сСрвСра Nginx

Certbot Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ваш Π΄ΠΎΠΌΠ΅Π½ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автоматичСски Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ создали Π±Π»ΠΎΠΊ сСрвСра для вашСго Π΄ΠΎΠΌΠ΅Π½Π°, создайтС Π΅Π³ΠΎ сСйчас.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° сСрвСра

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ yourdomain.com Π½Π° вашС фактичСскоС имя Π΄ΠΎΠΌΠ΅Π½Π° Π²ΠΎ всСм этом руководствС:

sudo nano /etc/nginx/sites-available/yourdomain.com

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ:

server {
    listen 80;
    listen [::]:80;

    server_name yourdomain.com www.yourdomain.com;

    root /var/www/yourdomain.com/html;
    index index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° сСрвСра

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx

ВсСгда провСряйтС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Nginx ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ:

sudo nginx -t

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Nginx

sudo systemctl reload nginx

Π¨Π°Π³ 3 β€” ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ SSL-сСртификата Let’s Encrypt

Π‘ настроСнным Nginx ΠΈ установлСнным Certbot Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ SSL-сСртификат.

Запуск Certbot с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Nginx

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

ОбъяснСниС Ρ„Π»Π°Π³ΠΎΠ²:

    --nginx β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Certbot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ Nginx для автоматичСской ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
    -d yourdomain.com β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ основной Π΄ΠΎΠΌΠ΅Π½
    -d www.yourdomain.com β€” добавляСт ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ www Π² ΠΎΠ΄ΠΈΠ½ сСртификат (Subject Alternative Name)
    
    ОбъяснСниС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… подсказок
    Certbot ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ вас Ρ‡Π΅Ρ€Π΅Π· ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ мастСр установки:
    1. АдрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹
    Enter email address (used for urgent renewal and security notices):
    Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. Let’s Encrypt ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ для увСдомлСния ΠΎΠ± истСчСнии сСртификатов ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… бСзопасности.
    2. Условия обслуТивания
    Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
    (A)gree/(C)ancel:
    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ A ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.
    3. Рассылка EFF (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)
    Would you be willing to share your email address with the Electronic Frontier Foundation?
    (Y)es/(N)o:
    Π­Ρ‚ΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ N, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ.
    4. ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ HTTP Π½Π° HTTPS
    Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
    1: No redirect
    2: Redirect - Make all requests redirect to secure HTTPS access
    ВсСгда Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ всС посСтитСли автоматичСски ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ Π½Π° HTTPS, устраняя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ.
    Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
    Если всС настроСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:
    Successfully received certificate.
    Certificate is saved at: /etc/letsencrypt/live/yourdomain.com/fullchain.pem
    Key is saved at:         /etc/letsencrypt/live/yourdomain.com/privkey.pem
    This certificate expires on YYYY-MM-DD.
    These files will be updated when the certificate renews.
    
    Deploying certificate
    Successfully deployed certificate for yourdomain.com to /etc/nginx/sites-available/yourdomain.com
    Successfully deployed certificate for www.yourdomain.com to /etc/nginx/sites-available/yourdomain.com
    Congratulations! You have successfully enabled HTTPS on https://yourdomain.com and https://www.yourdomain.com
    Π§Ρ‚ΠΎ Certbot ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π² Nginx
    ПослС запуска Certbot автоматичСски добавляСт SSL-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ Π² ваш Π±Π»ΠΎΠΊ сСрвСра. Π’Π°ΡˆΠ° конфигурация Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:
    server {
        server_name yourdomain.com www.yourdomain.com;
    
        root /var/www/yourdomain.com/html;
        index index.html index.htm;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        listen 443 ssl;
        ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    }
    
    server {
        if ($host = www.yourdomain.com) {
            return 301 https://$host$request_uri;
        }
        if ($host = yourdomain.com) {
            return 301 https://$host$request_uri;
        }
    
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
        return 404;
    }
    Π¨Π°Π³ 4 β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки SSL
    ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Certbot ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваш SSL-сСртификат ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ установлСн ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚.
    ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅
    ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://yourdomain.com. Π˜Ρ‰ΠΈΡ‚Π΅:
    
    Π—Π½Π°Ρ‡ΠΎΠΊ Π·Π°ΠΌΠΊΠ° Π² адрСсной строкС β€” ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅, Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ΅ SSL-соСдинСниС
    ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΎ бСзопасности β€” сСртификат дСйствитСлСн ΠΈ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½ вашим Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ
    HTTPS Π² URL β€” HTTP-запросы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ автоматичСски ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π½Π° HTTPS
    
    НаТмитС Π½Π° Π·Π½Π°Ρ‡ΠΎΠΊ Π·Π°ΠΌΠΊΠ° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Β», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ издатСля (Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Β«Let’s EncryptΒ») ΠΈ Π΄Π°Ρ‚Ρƒ истСчСния.
    ΠœΠ΅Ρ‚ΠΎΠ΄ 2: Π“Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· SSL Labs
    Для комплСксного Π°ΡƒΠ΄ΠΈΡ‚Π° бСзопасности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Qualys SSL Labs:
    
    ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://www.ssllabs.com/ssltest/
  • Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя вашСго Π΄ΠΎΠΌΠ΅Π½Π°
  • НаТмитС Β«SubmitΒ»
  • ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнная установка Let’s Encrypt + Nginx Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΡƒ A ΠΈΠ»ΠΈ A+. Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ, SSL Labs ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ слабыС мСста для исправлСния.

    ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ сСртификата нСпосрСдствСнно ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°:

    sudo certbot certificates

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    Found the following certs:
      Certificate Name: yourdomain.com
        Serial Number: abc123...
        Key Type: RSA
        Domains: yourdomain.com www.yourdomain.com
        Expiry Date: YYYY-MM-DD HH:MM:SS+00:00 (VALID: 89 days)
        Certificate Path: /etc/letsencrypt/live/yourdomain.com/fullchain.pem
        Private Key Path: /etc/letsencrypt/live/yourdomain.com/privkey.pem

    ΠœΠ΅Ρ‚ΠΎΠ΄ 4: Команда OpenSSL

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ сСртификатов ΠΈ срок дСйствия с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenSSL:

    echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -dates -issuer

    ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    notBefore=Mon Jan  1 00:00:00 2025 GMT
    notAfter=Tue Apr  1 00:00:00 2025 GMT
    issuer=C=US, O=Let's Encrypt, CN=R11

    Π¨Π°Π³ 5 β€” Настройка автоматичСского обновлСния сСртификата

    Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ Let's Encrypt ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· 90 Π΄Π½Π΅ΠΉ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ дСйствия Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΉ β€” ΠΎΠ½ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ риск Π² случаС ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Certbot ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ обновлСния автоматичСски, Π½ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ автоматизация Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

    Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Certbot

    ΠŸΡ€ΠΈ установкС Certbot Ρ‡Π΅Ρ€Π΅Π· APT ΠΈΠ»ΠΈ Snap ΠΎΠ½ автоматичСски создаСт systemd timer (ΠΈΠ»ΠΈ cron job Π½Π° старых систСмах), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСтся Π΄Π²Π°ΠΆΠ΄Ρ‹ Π² дСнь. Он провСряСт, находятся Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ сСртификаты Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 30 Π΄Π½Π΅ΠΉ Π΄ΠΎ истСчСния срока, ΠΈ автоматичСски ΠΈΡ… обновляСт.

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Systemd Timer

    sudo systemctl status certbot.timer

    ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    ● certbot.timer - Run certbot twice daily
         Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
         Active: active (waiting) since ...
        Trigger: ...
       Triggers: ● certbot.service

    Если Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ настроСно.

    ВСстированиС процСсса обновлСния (ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ запуск)

    ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, смодСлируйтС Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

    sudo certbot renew --dry-run

    Π£ΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    Simulating renewal of an existing certificate for yourdomain.com and www.yourdomain.com
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Congratulations, all simulated renewals succeeded:
      /etc/letsencrypt/live/yourdomain.com/fullchain.pem (success)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Если ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ запуск ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, ваши сСртификаты Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ автоматичСски Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Cron Job (старыС систСмы)

    На старых вСрсиях Ubuntu, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ systemd timers, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ cron job Certbot:

    sudo cat /etc/cron.d/certbot

    Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ строку, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π½Π°:

    0 */12 * * * root test -x /usr/bin/certbot -a ! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew

    Π­Ρ‚ΠΎ запускаСт Certbot Π΄Π²Π°ΠΆΠ΄Ρ‹ Π² дСнь Π² случайныС ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСров Let's Encrypt.

    Π ΡƒΡ‡Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ)

    Если Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ потрСбуСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСртификат:

    sudo certbot renew --force-renewal
    sudo systemctl reload nginx

    > Π›ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°: ПослС любого обновлСния сСртификата (Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ автоматичСского) ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ сСртификата:

    > β€œ`bash

    > sudo systemctl reload nginx

    > β€œ`

    > Π₯ΡƒΠΊΠΈ обновлСния Certbot ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ это автоматичСски Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.

    Настройка Ρ…ΡƒΠΊΠΎΠ² обновлСния

    Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Nginx пСрСзагруТаСтся автоматичСски послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обновлСния, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ deploy hook:

    sudo nano /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:

    #!/bin/bash
    systemctl reload nginx

    Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ исполняСмым:

    sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh

    УстранСниС распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

    Ошибка: "Could not bind to IPv4/IPv6"

    Certbot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 80 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½Π°. Если Π΄Ρ€ΡƒΠ³ΠΎΠΉ процСсс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 80, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚.

    РСшСниС: Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ остановитС Nginx, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сСртификат Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅:

    sudo systemctl stop nginx
    sudo certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com
    sudo systemctl start nginx

    Ошибка: "DNS problem: NXDOMAIN looking up A for yourdomain.com"

    DNS-записи вашСго Π΄ΠΎΠΌΠ΅Π½Π° Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° сСрвСры ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Let's Encrypt.

    РСшСниС: ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваша A-запись установлСна ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:

    dig yourdomain.com A +short

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP-адрСс вашСго сСрвСра. РаспространСниС DNS ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π΄ΠΎ 48 часов, хотя ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 1–2 часов.

    Ошибка: "Too many certificates already issued"

    Let's Encrypt примСняСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° 5 Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ сСртификатов Π² нСдСлю Π½Π° Π΄ΠΎΠΌΠ΅Π½.

    РСшСниС: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ --staging для тСстирования вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡ‚ΠΎΠ²:

    sudo certbot --nginx --staging -d yourdomain.com -d www.yourdomain.com

    ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ тСстирования ΠΎΡ‚ΠΎΠ·Π²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ сСртификат ΠΈ выпуститС производствСнный.

    Ошибка: "Nginx configuration test failed"

    Certbot измСняСт Π²Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Nginx. Если получСнная конфигурация содСрТит синтаксичСскиС ошибки, Nginx Π½Π΅ пСрСзагрузится.

    РСшСниС: Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ протСстируйтС ΠΈ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ:

    sudo nginx -t
    sudo nano /etc/nginx/sites-available/yourdomain.com
    # Fix any syntax errors, then:
    sudo systemctl reload nginx

    Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ Π½Π΅ обновляСтся автоматичСски

    Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ письма ΠΎΠ± истСчСнии срока дСйствия нСсмотря Π½Π° установлСнный Certbot, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статус Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°:

    sudo systemctl status certbot.timer
    sudo journalctl -u certbot.service --since "7 days ago"

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок ΠΈ устранитС ΠΈΡ… соотвСтствСнно.

    Advanced: Hardening Your Nginx SSL Configuration

    The default Let's Encrypt + Certbot configuration is secure, but you can further harden it for an A+ SSL Labs score.

    Enable HTTP/2

    Edit your server block to enable HTTP/2 for improved performance:

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    Add HSTS (HTTP Strict Transport Security)

    HSTS instructs browsers to always use HTTPS for your domain, even if a user types http://:

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    Disable Weak Protocols and Ciphers

    Add these directives to your nginx.conf or server block:

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    After making changes, always test and reload:

    sudo nginx -t && sudo systemctl reload nginx

    Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ хостинга для вашСй настройки Nginx + SSL

    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ вашСго SSL-Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ сСрвСра Nginx Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ зависят ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ инфраструктуры. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хостинга AlexHost ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ случаям использования:

    • VPS Hosting β€” ИдСалСн для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π²Π΅Π±-сайтов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»Π½Ρ‹ΠΉ доступ root позволяСт Π²Π°ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Nginx ΠΈ Certbot Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ описано Π² этом руководствС. VPS ΠΏΠ»Π°Π½Ρ‹ AlexHost Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° Ubuntu 18.04, 20.04 ΠΈ 22.04 LTS.
    • Dedicated Servers β€” Π›ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для высоконагруТСнных Π²Π΅Π±-сайтов, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… рСсурсов ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ контроля Π½Π°Π΄ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ЗапускайтС нСсколько Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… хостов Nginx, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ с собствСнным сСртификатом Let’s Encrypt.
    • VPS с cPanel β€” Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ графичСский интСрфСйс для управлСния SSL-сСртификатами наряду с Π²Π΅Π±-хостингом, cPanel интСгрируСтся с Let’s Encrypt ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‡Ρƒ сСртификатов Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AutoSSL.
    • SSL Certificates β€” Для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… срСд, сайтов элСктронной ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… сСртификатов с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ (EV) ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ (OV), AlexHost ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ SSL-сСртификаты с Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠ΅ΠΉ покрытия ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ.

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    Π—Π°Ρ‰ΠΈΡ‚Π° Nginx с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSL-сСртификата Let's Encrypt Π½Π° Ubuntu β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивных шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° Π² поисковых систСмах ΠΈ завоСвания довСрия Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π’Π΅ΡΡŒ процСсс β€” ΠΎΡ‚ установки Certbot Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ автоматичСского обновлСния β€” Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 15 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ стоит.

    Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ Ρ€Π΅Π·ΡŽΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π² этом руководствС:

    1. βœ… Установили Certbot ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Nginx
    2. βœ… Настроили ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ сСрвСра Nginx для вашСго Π΄ΠΎΠΌΠ΅Π½Π°
    3. βœ… ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ SSL-сСртификат Let's Encrypt
    4. βœ… ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»ΠΈ сСртификат с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, SSL Labs ΠΈ OpenSSL
    5. βœ… ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»ΠΈ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· systemd timer ΠΈ тСстированиС Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ dry-run
    6. βœ… ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠ΅ усилСниС бСзопасности для Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° A+

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ваш сСрвСр Nginx Π·Π°Ρ‰ΠΈΡ‰Π΅Π½, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ изучСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹: Web Application Firewall (WAF), fail2ban для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ рСгулярныС Π°ΡƒΠ΄ΠΈΡ‚Ρ‹ бСзопасности. Если Π²Ρ‹ управляСтС нСсколькими Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈΠ»ΠΈ прилоТСниями, VPS Control Panels AlexHost ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ интСрфСйс для управлСния SSL-сСртификатами, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ хостами ΠΈ конфигурациями сСрвСра Π±Π΅Π· ΡƒΡ‰Π΅Ρ€Π±Π° для гибкости срСды Linux.

    Π’Π°ΡˆΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ бСзопасноС соСдинСниС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ.