Настройка SSL сертификатов (Let's Encrypt) — различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск
(Новая страница: «= Настройка SSL сертификатов (Let's Encrypt) = == 1. Подготовка системы == * Войдите в систему под уч…»)
 
Строка 11: Строка 11:
  
 
1. Обновите список пакетов:
 
1. Обновите список пакетов:
<code>
+
<code>sudo apt update</code>
sudo apt update
 
</code>
 
  
 
2. Установите Certbot:
 
2. Установите Certbot:
<code>
+
<code>sudo apt install certbot</code>
sudo apt install certbot
 
</code>
 
  
 
3. Установите плагин для вашего веб-сервера:
 
3. Установите плагин для вашего веб-сервера:
<code>
+
<code>sudo apt install python3-certbot-apache</code>
# Для Apache
+
<code>sudo apt install python3-certbot-nginx</code>
sudo apt install python3-certbot-apache
 
 
 
# Для Nginx
 
sudo apt install python3-certbot-nginx
 
</code>
 
  
 
=== Для CentOS/RHEL/Fedora ===
 
=== Для CentOS/RHEL/Fedora ===
  
 
1. Установите EPEL репозиторий:
 
1. Установите EPEL репозиторий:
<code>
+
<code>sudo yum install epel-release</code>
sudo yum install epel-release
 
</code>
 
  
 
2. Установите Certbot:
 
2. Установите Certbot:
<code>
+
<code>sudo yum install certbot python3-certbot-apache</code>
sudo yum install certbot python3-certbot-apache
 
</code>
 
  
 
== 3. Получение SSL сертификата ==
 
== 3. Получение SSL сертификата ==
Строка 46: Строка 33:
  
 
1. Получите сертификат и автоматически настроите Apache:
 
1. Получите сертификат и автоматически настроите Apache:
<code>
+
<code>sudo certbot --apache -d example.com -d www.example.com</code>
sudo certbot --apache -d example.com -d www.example.com
 
</code>
 
  
 
2. Следуйте инструкциям:
 
2. Следуйте инструкциям:
Строка 58: Строка 43:
  
 
1. Получите сертификат и автоматически настроите Nginx:
 
1. Получите сертификат и автоматически настроите Nginx:
<code>
+
<code>sudo certbot --nginx -d example.com -d www.example.com</code>
sudo certbot --nginx -d example.com -d www.example.com
 
</code>
 
  
 
2. Следуйте инструкциям аналогично Apache.
 
2. Следуйте инструкциям аналогично Apache.
Строка 67: Строка 50:
  
 
1. Получите только сертификат:
 
1. Получите только сертификат:
<code>
+
<code>sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com</code>
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
 
</code>
 
  
 
2. Сертификаты будут сохранены в:
 
2. Сертификаты будут сохранены в:
<code>
+
<code>/etc/letsencrypt/live/example.com/</code>
/etc/letsencrypt/live/example.com/
 
</code>
 
  
 
== 4. Проверка сертификата ==
 
== 4. Проверка сертификата ==
  
 
1. Проверьте статус сертификатов:
 
1. Проверьте статус сертификатов:
<code>
+
<code>sudo certbot certificates</code>
sudo certbot certificates
 
</code>
 
  
 
2. Проверьте автоматическое обновление:
 
2. Проверьте автоматическое обновление:
<code>
+
<code>sudo certbot renew --dry-run</code>
sudo certbot renew --dry-run
 
</code>
 
  
 
3. Откройте сайт в браузере: '''https://example.com'''
 
3. Откройте сайт в браузере: '''https://example.com'''
Строка 95: Строка 70:
  
 
1. Откройте crontab:
 
1. Откройте crontab:
<code>
+
<code>sudo crontab -e</code>
sudo crontab -e
 
</code>
 
  
 
2. Добавьте задачу обновления:
 
2. Добавьте задачу обновления:
<code>
+
<code>0 12 * * * /usr/bin/certbot renew --quiet</code>
# Обновление сертификатов дважды в день
+
<code>0 0 * * * /usr/bin/certbot renew --quiet</code>
0 12 * * * /usr/bin/certbot renew --quiet
 
0 0 * * * /usr/bin/certbot renew --quiet
 
</code>
 
  
 
=== Настройка systemd таймера ===
 
=== Настройка systemd таймера ===
  
 
1. Проверьте статус таймера:
 
1. Проверьте статус таймера:
<code>
+
<code>sudo systemctl status certbot.timer</code>
sudo systemctl status certbot.timer
 
</code>
 
  
 
2. Включите автозапуск:
 
2. Включите автозапуск:
<code>
+
<code>sudo systemctl enable certbot.timer</code>
sudo systemctl enable certbot.timer
 
</code>
 
  
 
== 6. Настройка для Apache ==
 
== 6. Настройка для Apache ==
Строка 123: Строка 89:
  
 
1. Создайте файл конфигурации SSL:
 
1. Создайте файл конфигурации SSL:
<code>
+
<code>sudo nano /etc/apache2/sites-available/example.com-ssl.conf</code>
sudo nano /etc/apache2/sites-available/example.com-ssl.conf
 
</code>
 
  
 
2. Добавьте конфигурацию:
 
2. Добавьте конфигурацию:
<code>
+
<code><VirtualHost *:443>
<VirtualHost *:443>
 
 
     ServerName example.com
 
     ServerName example.com
 
     ServerAlias www.example.com
 
     ServerAlias www.example.com
Строка 143: Строка 106:
 
         Require all granted
 
         Require all granted
 
     </Directory>
 
     </Directory>
</VirtualHost>
+
</VirtualHost></code>
</code>
 
  
 
3. Включите SSL модуль и сайт:
 
3. Включите SSL модуль и сайт:
<code>
+
<code>sudo a2enmod ssl</code>
sudo a2enmod ssl
+
<code>sudo a2ensite example.com-ssl.conf</code>
sudo a2ensite example.com-ssl.conf
+
<code>sudo systemctl restart apache2</code>
sudo systemctl restart apache2
 
</code>
 
  
 
== 7. Настройка для Nginx ==
 
== 7. Настройка для Nginx ==
Строка 158: Строка 118:
  
 
1. Отредактируйте конфигурацию сайта:
 
1. Отредактируйте конфигурацию сайта:
<code>
+
<code>sudo nano /etc/nginx/sites-available/example.com</code>
sudo nano /etc/nginx/sites-available/example.com
 
</code>
 
  
 
2. Добавьте SSL конфигурацию:
 
2. Добавьте SSL конфигурацию:
<code>
+
<code>server {</code>
server {
+
<code>listen 443 ssl http2;</code>
    listen 443 ssl http2;
+
<code>server_name example.com www.example.com;</code>
    server_name example.com www.example.com;
+
<code>root /var/www/example.com/public_html;</code>
    root /var/www/example.com/public_html;
+
<code>index index.html index.php;</code>
    index index.html index.php;
+
<code>ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;</code>
   
+
<code>ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;</code>
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
+
<code>ssl_protocols TLSv1.2 TLSv1.3;</code>
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
+
<code>ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;</code>
   
+
<code>ssl_prefer_server_ciphers off;</code>
    # SSL настройки
+
<code>ssl_session_cache shared:SSL:10m;</code>
    ssl_protocols TLSv1.2 TLSv1.3;
+
<code>ssl_session_timeout 10m;</code>
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;
+
<code>location / {</code>
    ssl_prefer_server_ciphers off;
+
<code>try_files $uri $uri/ =404;</code>
    ssl_session_cache shared:SSL:10m;
+
<code>}</code>
    ssl_session_timeout 10m;
+
<code>location ~ \.php$ {</code>
   
+
<code>include snippets/fastcgi-php.conf;</code>
    location / {
+
<code>fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;</code>
        try_files $uri $uri/ =404;
+
<code>}</code>
    }
+
<code>}</code>
   
+
<code>server {</code>
    location ~ \.php$ {
+
<code>listen 80;</code>
        include snippets/fastcgi-php.conf;
+
<code>server_name example.com www.example.com;</code>
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
+
<code>return 301 https://$server_name$request_uri;</code>
    }
+
<code>}</code>
}
 
 
 
# Перенаправление с HTTP на HTTPS
 
server {
 
    listen 80;
 
    server_name example.com www.example.com;
 
    return 301 https://$server_name$request_uri;
 
}
 
</code>
 
  
 
3. Проверьте конфигурацию и перезапустите Nginx:
 
3. Проверьте конфигурацию и перезапустите Nginx:
<code>
+
<code>sudo nginx -t</code>
sudo nginx -t
+
<code>sudo systemctl restart nginx</code>
sudo systemctl restart nginx
 
</code>
 
  
 
== 8. Настройка файрвола ==
 
== 8. Настройка файрвола ==
Строка 209: Строка 156:
  
 
1. Разрешите HTTPS трафик:
 
1. Разрешите HTTPS трафик:
<code>
+
<code>sudo ufw allow 443/tcp</code>
sudo ufw allow 443/tcp
+
<code>sudo ufw allow 80/tcp</code>
sudo ufw allow 80/tcp
 
</code>
 
  
 
=== Для CentOS/RHEL (firewalld) ===
 
=== Для CentOS/RHEL (firewalld) ===
  
 
1. Разрешите HTTPS и HTTP:
 
1. Разрешите HTTPS и HTTP:
<code>
+
<code>sudo firewall-cmd --permanent --add-service=https</code>
sudo firewall-cmd --permanent --add-service=https
+
<code>sudo firewall-cmd --permanent --add-service=http</code>
sudo firewall-cmd --permanent --add-service=http
+
<code>sudo firewall-cmd --reload</code>
sudo firewall-cmd --reload
 
</code>
 
  
 
== 9. Дополнительные настройки безопасности ==
 
== 9. Дополнительные настройки безопасности ==
Строка 228: Строка 171:
  
 
1. Для Apache добавьте в конфигурацию:
 
1. Для Apache добавьте в конфигурацию:
<code>
+
<code>Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"</code>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
 
</code>
 
  
 
2. Для Nginx добавьте:
 
2. Для Nginx добавьте:
<code>
+
<code>add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;</code>
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
 
</code>
 
  
 
=== Настройка OCSP Stapling ===
 
=== Настройка OCSP Stapling ===
  
 
1. Для Apache добавьте:
 
1. Для Apache добавьте:
<code>
+
<code>SSLUseStapling on</code>
SSLUseStapling on
+
<code>SSLStaplingCache "shmcb:logs/stapling-cache(150000)"</code>
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
 
</code>
 
  
 
2. Для Nginx добавьте:
 
2. Для Nginx добавьте:
<code>
+
<code>ssl_stapling on;</code>
ssl_stapling on;
+
<code>ssl_stapling_verify on;</code>
ssl_stapling_verify on;
+
<code>ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;</code>
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
 
</code>
 
  
 
== 10. Мониторинг и уведомления ==
 
== 10. Мониторинг и уведомления ==
Строка 257: Строка 192:
  
 
1. Создайте скрипт для проверки сертификатов:
 
1. Создайте скрипт для проверки сертификатов:
<code>
+
<code>sudo nano /usr/local/bin/ssl-check.sh</code>
sudo nano /usr/local/bin/ssl-check.sh
 
</code>
 
  
 
2. Добавьте содержимое:
 
2. Добавьте содержимое:
<code>
+
<code>DOMAIN="example.com"</code>
#!/bin/bash
+
<code>DAYS=30</code>
DOMAIN="example.com"
+
<code>CERT_PATH="/etc/letsencrypt/live/$DOMAIN/cert.pem"</code>
DAYS=30
+
<code>if [ -f "$CERT_PATH" ]; then</code>
CERT_PATH="/etc/letsencrypt/live/$DOMAIN/cert.pem"
+
<code>EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$CERT_PATH" | cut -d= -f2)</code>
 
+
<code>EXPIRY_EPOCH=$(date -d "$EXPIRY_DATE" +%s)</code>
if [ -f "$CERT_PATH" ]; then
+
<code>CURRENT_EPOCH=$(date +%s)</code>
    EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$CERT_PATH" | cut -d= -f2)
+
<code>DAYS_LEFT=$(( (EXPIRY_EPOCH - CURRENT_EPOCH) / 86400 ))</code>
    EXPIRY_EPOCH=$(date -d "$EXPIRY_DATE" +%s)
+
<code>if [ $DAYS_LEFT -lt $DAYS ]; then</code>
    CURRENT_EPOCH=$(date +%s)
+
<code>echo "SSL сертификат для $DOMAIN истекает через $DAYS_LEFT дней!" | mail -s "SSL сертификат истекает" admin@example.com</code>
    DAYS_LEFT=$(( (EXPIRY_EPOCH - CURRENT_EPOCH) / 86400 ))
+
<code>fi</code>
   
+
<code>fi</code>
    if [ $DAYS_LEFT -lt $DAYS ]; then
 
        echo "SSL сертификат для $DOMAIN истекает через $DAYS_LEFT дней!" | mail -s "SSL сертификат истекает" admin@example.com
 
    fi
 
fi
 
</code>
 
  
 
3. Сделайте скрипт исполняемым:
 
3. Сделайте скрипт исполняемым:
<code>
+
<code>sudo chmod +x /usr/local/bin/ssl-check.sh</code>
sudo chmod +x /usr/local/bin/ssl-check.sh
 
</code>
 
  
 
4. Добавьте в crontab:
 
4. Добавьте в crontab:
<code>
+
<code>0 9 * * * /usr/local/bin/ssl-check.sh</code>
# Проверка SSL сертификатов каждый день
 
0 9 * * * /usr/local/bin/ssl-check.sh
 
</code>
 
  
 
== 11. Устранение неполадок ==
 
== 11. Устранение неполадок ==
Строка 310: Строка 233:
  
 
1. Проверьте детали сертификата:
 
1. Проверьте детали сертификата:
<code>
+
<code>openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout</code>
openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout
 
</code>
 
  
 
2. Проверьте цепочку сертификатов:
 
2. Проверьте цепочку сертификатов:
<code>
+
<code>openssl verify -CAfile /etc/letsencrypt/live/example.com/chain.pem /etc/letsencrypt/live/example.com/cert.pem</code>
openssl verify -CAfile /etc/letsencrypt/live/example.com/chain.pem /etc/letsencrypt/live/example.com/cert.pem
 
</code>
 
  
 
== 12. Дополнительные возможности ==
 
== 12. Дополнительные возможности ==
Строка 324: Строка 243:
  
 
1. Установите DNS плагин:
 
1. Установите DNS плагин:
<code>
+
<code>sudo apt install python3-certbot-dns-cloudflare</code>
sudo apt install python3-certbot-dns-cloudflare
 
</code>
 
  
 
2. Получите wildcard сертификат:
 
2. Получите wildcard сертификат:
<code>
+
<code>sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/cloudflare.ini -d "*.example.com" -d example.com</code>
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/cloudflare.ini -d "*.example.com" -d example.com
 
</code>
 
  
 
=== Использование staging окружения ===
 
=== Использование staging окружения ===
  
 
1. Получите тестовый сертификат:
 
1. Получите тестовый сертификат:
<code>
+
<code>sudo certbot --staging -d example.com</code>
sudo certbot --staging -d example.com
 
</code>
 
  
 
2. После успешного тестирования получите реальный сертификат:
 
2. После успешного тестирования получите реальный сертификат:
<code>
+
<code>sudo certbot -d example.com</code>
sudo certbot -d example.com
 
</code>
 
  
 
== Заключение ==
 
== Заключение ==

Версия 20:01, 14 октября 2025

Содержание

Настройка SSL сертификатов (Let's Encrypt)

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что домен указывает на ваш сервер (A-запись в DNS).

2. Установка Certbot

Для Ubuntu/Debian

1. Обновите список пакетов: sudo apt update

2. Установите Certbot: sudo apt install certbot

3. Установите плагин для вашего веб-сервера: sudo apt install python3-certbot-apache sudo apt install python3-certbot-nginx

Для CentOS/RHEL/Fedora

1. Установите EPEL репозиторий: sudo yum install epel-release

2. Установите Certbot: sudo yum install certbot python3-certbot-apache

3. Получение SSL сертификата

Автоматическая настройка для Apache

1. Получите сертификат и автоматически настроите Apache: sudo certbot --apache -d example.com -d www.example.com

2. Следуйте инструкциям:

  • Введите email адрес для уведомлений
  • Согласитесь с условиями (A)
  • Выберите опцию перенаправления (2 - рекомендуется)

Автоматическая настройка для Nginx

1. Получите сертификат и автоматически настроите Nginx: sudo certbot --nginx -d example.com -d www.example.com

2. Следуйте инструкциям аналогично Apache.

Ручная настройка (без автоматической конфигурации)

1. Получите только сертификат: sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

2. Сертификаты будут сохранены в: /etc/letsencrypt/live/example.com/

4. Проверка сертификата

1. Проверьте статус сертификатов: sudo certbot certificates

2. Проверьте автоматическое обновление: sudo certbot renew --dry-run

3. Откройте сайт в браузере: https://example.com

5. Настройка автоматического обновления

Настройка cron задачи

1. Откройте crontab: sudo crontab -e

2. Добавьте задачу обновления: 0 12 * * * /usr/bin/certbot renew --quiet 0 0 * * * /usr/bin/certbot renew --quiet

Настройка systemd таймера

1. Проверьте статус таймера: sudo systemctl status certbot.timer

2. Включите автозапуск: sudo systemctl enable certbot.timer

6. Настройка для Apache

Ручная настройка виртуального хоста

1. Создайте файл конфигурации SSL: sudo nano /etc/apache2/sites-available/example.com-ssl.conf

2. Добавьте конфигурацию: <VirtualHost *:443>

   ServerName example.com
   ServerAlias www.example.com
   DocumentRoot /var/www/example.com/public_html
   
   SSLEngine on
   SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
   SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
   SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
   
   <Directory /var/www/example.com/public_html>
       AllowOverride All
       Require all granted
   </Directory>

</VirtualHost>

3. Включите SSL модуль и сайт: sudo a2enmod ssl sudo a2ensite example.com-ssl.conf sudo systemctl restart apache2

7. Настройка для Nginx

Ручная настройка SSL в Nginx

1. Отредактируйте конфигурацию сайта: sudo nano /etc/nginx/sites-available/example.com

2. Добавьте SSL конфигурацию: server { listen 443 ssl http2; server_name example.com www.example.com; root /var/www/example.com/public_html; index index.html index.php; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } } server { listen 80; server_name example.com www.example.com; return 301 https://$server_name$request_uri; }

3. Проверьте конфигурацию и перезапустите Nginx: sudo nginx -t sudo systemctl restart nginx

8. Настройка файрвола

Для Ubuntu/Debian (ufw)

1. Разрешите HTTPS трафик: sudo ufw allow 443/tcp sudo ufw allow 80/tcp

Для CentOS/RHEL (firewalld)

1. Разрешите HTTPS и HTTP: sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload

9. Дополнительные настройки безопасности

Настройка HSTS

1. Для Apache добавьте в конфигурацию: Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

2. Для Nginx добавьте: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Настройка OCSP Stapling

1. Для Apache добавьте: SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

2. Для Nginx добавьте: ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

10. Мониторинг и уведомления

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

1. Создайте скрипт для проверки сертификатов: sudo nano /usr/local/bin/ssl-check.sh

2. Добавьте содержимое: DOMAIN="example.com" DAYS=30 CERT_PATH="/etc/letsencrypt/live/$DOMAIN/cert.pem" if [ -f "$CERT_PATH" ]; then EXPIRY_DATE=$(openssl x509 -enddate -noout -in "$CERT_PATH" | cut -d= -f2) EXPIRY_EPOCH=$(date -d "$EXPIRY_DATE" +%s) CURRENT_EPOCH=$(date +%s) DAYS_LEFT=$(( (EXPIRY_EPOCH - CURRENT_EPOCH) / 86400 )) if [ $DAYS_LEFT -lt $DAYS ]; then echo "SSL сертификат для $DOMAIN истекает через $DAYS_LEFT дней!" | mail -s "SSL сертификат истекает" admin@example.com fi fi

3. Сделайте скрипт исполняемым: sudo chmod +x /usr/local/bin/ssl-check.sh

4. Добавьте в crontab: 0 9 * * * /usr/local/bin/ssl-check.sh

11. Устранение неполадок

Частые проблемы

1. Ошибка "Domain validation failed":

  • Проверьте, что домен указывает на ваш сервер
  • Убедитесь, что порты 80 и 443 открыты

2. Ошибка "Too many requests":

  • Let's Encrypt имеет лимит 5 сертификатов в неделю на домен
  • Подождите или используйте staging окружение

3. Ошибка "Certificate not found":

  • Проверьте путь к сертификатам
  • Убедитесь, что сертификат был получен успешно

Проверка сертификата

1. Проверьте детали сертификата: openssl x509 -in /etc/letsencrypt/live/example.com/cert.pem -text -noout

2. Проверьте цепочку сертификатов: openssl verify -CAfile /etc/letsencrypt/live/example.com/chain.pem /etc/letsencrypt/live/example.com/cert.pem

12. Дополнительные возможности

Получение wildcard сертификата

1. Установите DNS плагин: sudo apt install python3-certbot-dns-cloudflare

2. Получите wildcard сертификат: sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/cloudflare.ini -d "*.example.com" -d example.com

Использование staging окружения

1. Получите тестовый сертификат: sudo certbot --staging -d example.com

2. После успешного тестирования получите реальный сертификат: sudo certbot -d example.com

Заключение

SSL сертификаты Let's Encrypt успешно настроены! Ваш сайт теперь защищен шифрованием.

Для размещения ваших защищенных проектов на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой SSL сертификатов и обеспечением безопасности ваших сайтов!