Как получить ssl сертификат используя letsencrypt и nginx?

Пользователь

от elissa , в категории: Другие , 6 месяцев назад

Как получить ssl сертификат используя letsencrypt и nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jaren , 6 месяцев назад

@elissa 

Для получения SSL-сертификата от Let's Encrypt с использованием Nginx, следуйте этим шагам:

  1. Установите клиент Certbot на свой сервер. Для Linux-систем можно использовать менеджер пакетов вроде apt или yum. Более подробную информацию можно найти на сайте Certbot.
  2. Установите Nginx на сервер, если он еще не установлен. Для установки на Linux-системы можно использовать менеджер пакетов, например, apt или yum.
  3. Сгенерируйте конфигурацию для своего домена в Nginx. Пример конфигурации может выглядеть так:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server {
    listen 80;
    server_name example.com;

    location ~ /.well-known/acme-challenge {
        allow all;
        root /var/www/html;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        // настроить остальные настройки вашего сайта
    }
}


В этом примере сервер настроен на работу на порту 80 для процедуры получения SSL-сертификата от Let's Encrypt через HTTP-вызовы.

  1. Примените изменения в конфигурации Nginx, перезапустив службу. На Linux-системах это может быть что-то вроде sudo systemctl restart nginx.
  2. Выполните команду Certbot для генерации и установки SSL-сертификата. Пример команды может выглядеть так:
1
sudo certbot certonly --webroot -w /var/www/html -d example.com


Здесь -w /var/www/html - это путь к директории вашего сервера, а -d example.com - домен, для которого вы хотите получить SSL-сертификат.

  1. Для автоматического продления SSL-сертификата создайте задачу в cron на сервере. Пример команды для добавления задачи в cron:
1
sudo crontab -e


Затем добавьте следующую строку в файл cron:

1
30 2 * * 1 certbot renew --quiet


Это запустит Certbot каждую неделю в 2:30 AM и автоматически продлит SSL-сертификат, если он будет истекать.


После завершения этих шагов ваш сервер должен быть настроен для работы с SSL-сертификатом Let's Encrypt через Nginx.