flip:web:certbot
Содержание
Certbot
Проверить сертификат Let's Encrypt: SSL Labs
Nginx, Python
Установите Certbot и его плагин для Nginx
apt install certbot python3-certbot-nginx
Настройте Nginx
Убедитесь, что у вас есть рабочий конфиг Nginx для вашего сайта (например, /etc/nginx/sites-available/your_project
).
server { listen 80; server_name your-domain.com www.your-domain.com; location / { proxy_pass http://localhost:8000; # Порт вашего Python-приложения proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
Проверьте синтаксис и перезапустите Nginx
nginx -t systemctl reload nginx
Получите SSL-сертификат
Запустите Certbot с плагином для Nginx
certbot --nginx -d your-domain.com -d www.your-domain.com
Certbot автоматически:
- Проверит владение доменом.
- Получит сертификат от Let's Encrypt.
- Обновит конфиг Nginx для использования HTTPS.
- Настроит автоматическое обновление сертификата.
Обновите конфиг Nginx для HTTPS
Certbot изменит ваш конфиг, добавив SSL-настройки. Пример итогового файла
server { listen 443 ssl; server_name your-domain.com www.your-domain.com; ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem; location / { proxy_pass http://localhost:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name your-domain.com www.your-domain.com; return 301 https://$host$request_uri; }
Проверьте автоматическое обновление
Certbot добавляет задание в cron для автоматического обновления сертификатов. Проверить можно так
certbot renew --dry-run
Перезапустите Nginx
sudo systemctl restart nginx
Apache
Установка Certbot и плагина для Apache
apt install certbot python3-certbot-apache
Получение SSL-сертификата
Запустите Certbot в режиме Apache
certbot --apache
Certbot предложит:
- Ввести email для уведомлений о продлении.
- Принять условия Let's Encrypt (нажмите A для согласия).
- Выбрать домен(ы), для которых нужно получить сертификат (если на сервере несколько виртуальных хостов).
После успешного выполнения Certbot автоматически:
- Получит сертификат.
- Настроит Apache на использование HTTPS.
- Создаст редирект с HTTP на HTTPS (если согласитесь).
Проверка автоматического обновления сертификата
certbot renew --dry-run
Вручную обновить сертификаты
certbot renew
Проверить конфигурацию Apache
Certbot изменяет конфиги Apache, например:
/etc/apache2/sites-available/ваш_сайт.conf
(Debian/Ubuntu)/etc/httpd/conf.d/ваш_сайт.conf
(CentOS/RHEL)
Там должны быть строки
<VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/ваш_домен/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/ваш_домен/privkey.pem # Другие настройки... </VirtualHost>
Перезапустить Apache
# Для Ubuntu/Debian sudo systemctl restart apache2 # Для CentOS/RHEL sudo systemctl restart httpd
flip/web/certbot.txt · Последнее изменение: 2025/03/31 19:58 — flip