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

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

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