Nginx

Установка

sudo apt-get update 
sudo apt-get install -y nginx

Добавление пользователя в группу

Нужно добавить пользователя в группу, чтобы можно было работать с его каталогами

gpasswd -a www-data username

Let’s Encrypt

Установка

sudo apt-get update
sudo apt-get install -y certbot
sudo apt-get install -y python3-certbot-nginx

sudo certbot --nginx -d example.com -d www.example.com

Возможно понадобиться "отключить" на время nginx: sudo systemctl stop nginx.service

Конфигурация

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name  example.com www.example.com;

    listen 443 ssl; # managed by Certbot

    # RSA certificate
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot

    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

    # Redirect non-https traffic to https
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot
}

Проверка и перезагрузка конфигурации: nginx -t && nginx -s reload

Обновление сертификата

Срок действия сертификатов Let's Encrypt истекает через 90 дней. Рекомендуется автоматически обновлять свои сертификаты.

  1. Добавляем задание cron в существующий файл crontab: crontab -e

  2. Добавить расписание - в полдень, каждое 1-е число месяца обновлять сертификат, если срок истекает 0 12 1 * * /usr/bin/certbot renew --quiet

  3. Сохраните и закройте файл. Все установленные сертификаты будут автоматически обновлены и перезагружены.

Конфигурация программного сервера

Last updated