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