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

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

Текущая версия на 10:34, 15 октября 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 сертификатов и обеспечением безопасности ваших сайтов!