Инструменты пользователя

Инструменты сайта


flip:web:certbot

Это старая версия документа!


Certbot

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

Теперь ваш сайт доступен по HTTPS с валидным сертификатом от Let's Encrypt. Проверить можно через SSL Labs

flip/web/certbot.1743450481.txt.gz · Последнее изменение: 2025/03/31 19:48 — flip

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki