Install Nginx

Источники

Установка Nginx

1
apt install nginx

Проверяем версию

1
nginx -v

Установка Certbot

1
2
3
4
apt install python3 python3-venv libaugeas0
python3 -m venv /opt/certbot/
/opt/certbot/bin/pip install --upgrade pip
ln -s /opt/certbot/bin/certbot /usr/bin/certbot

Получаем сертификаты. Сertbot следующей командой сам настроит Nginx.

1
certbot --nginx

Если не сработало или вы хотите настроить Nginx сами, получим только сертификаты.

1
certbot certonly --nginx
1
echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

Добавить еще домен можно следующим образом

1
certbot --expand -d domain1.com,subdomain.domain1.com,domain2.com

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

Конфиг лежит в

  • /etc/nginx/conf.d/домен_вашего_сайта.conf

Полученные сертификаты лежат в:

  • /etc/letsencrypt/live/домен_вашего_сайта/fullchain.pem
  • /etc/letsencrypt/live/домен_вашего_сайта/privkey.pem
1
nano /etc/nginx/conf.d/dotgs.ru.conf

Пример конфига

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    
    server_name dotgs.ru;

    charset utf-8;
    client_max_body_size 50M;

    ssl_certificate /etc/letsencrypt/live/dotgs.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/dotgs.ru/privkey.pem;

        access_log /var/log/nginx/reverse-access.log;
        error_log /var/log/nginx/reverse-error.log;

        location / {
                    proxy_pass http://127.0.0.1:1313;
  }
}

Для применения настроек нужно перезапустить сервис.

1
service nginx restart