Как установить Let’s Encrypt для Nginx в Ubuntu 16.04–17.10

12 set 2022 2 min di lettura
Как установить Let’s Encrypt для Nginx в Ubuntu 16.04–17.10
Indice dei contenuti

Введение

Let's Encrypt — это центр сертификации (ЦС), который автоматизирует бесплатное создание, проверку, выпуск и обновление сертификатов X.509 для протокола TLS/SSL, обеспечивая шифрование HTTPS на веб-серверах.

В этом руководстве мы будем использовать Certbot, чтобы получить бесплатный SSL-сертификат для Nginx в Ubuntu и настроить сертификат для автоматического обновления.

Certbot — это простой в использовании автоматизированный клиент, который извлекает и распространяет сертификаты SSL/TLS для веб-сервера.

Предпосылки

Прежде чем приступить к работе с этим руководством, на вашем сервере должен быть установлен пользователь без полномочий root с привилегиями sudo. Следуйте этому руководству: Первоначальная настройка в Ubuntu 16.04-17.10

Установить Сертбот

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

Обновим список пакетов:

sudo apt-get update

Мы устанавливаем следующий пакет, который позволяет вам легко управлять источниками программного обеспечения независимых производителей программного обеспечения:

sudo apt-get install software-properties-common

Давайте добавим официальный репозиторий Cerbot, чтобы получать самые свежие пакеты:

sudo add-apt-repository ppa:certbot/certbot

Вам нужно будет нажать ENTER, чтобы принять.

Давайте снова обновим список пакетов:

sudo apt-get update

И, наконец, установим пакет Certbot для Nginx:

sudo apt-get install python-certbot-nginx

Теперь Certbot готов к использованию, но для установки SSL-сертификатов для Nginx нам необходимо проверить некоторые конфигурации Nginx.

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

Certbot может автоматически настраивать SSL-сертификаты для Nginx, но он должен уметь находить в конфигурации правильный блок сервера. Для этого он ищет директиву server_name, которая соответствует домену, для которого вы запрашиваете сертификат.

Если вы начинаете с новой установки Nginx, вы можете обновить файл конфигурации по умолчанию.

sudo nano /etc/nginx/sites-available/default

Найдите строку server_name и замените подчеркивание: «_» на ваше доменное имя:

...
 server_name esempio.com www.esempio.com;...

Сохраните и закройте файл.

Проверьте правильность конфигурации файла:

sudo nginx -t

Перезапустите Nginx:

sudo systemctl reload nginx

Теперь Certbot сможет найти правильный блок сервера и обновить его.

Конфигурация брандмауэра (ufw)

Если брандмауэр ufw включен, вам необходимо создать новое правило, разрешающее HTTPS-трафик.

Чтобы проверить, активен ли брандмауэр, введите следующую команду:

sudo ufw status

Чтобы разрешить HTTPS-трафик для Nginx:

sudo ufw allow 'Nginx Full'

Получить SSL-сертификат

Certbot использует плагин Nginx для получения SSL-сертификатов.

sudo certbot --nginx

Выполнение этой команды позволит вам получить сертификат SSL, а Certbot автоматически изменит конфигурацию Nginx.

В противном случае вы можете получить сертификат, а затем вручную настроить Nginx с помощью следующей команды:

sudo certbot --nginx certonly

Автоматическое продление

Пакеты Certbot поставляются с заданием cron, которое автоматически обновляет ваши сертификаты до истечения срока их действия. Поскольку сертификаты Let's Encrypt действительны в течение 90 дней, настоятельно рекомендуется воспользоваться этой функцией. Вы можете проверить автоматическое обновление сертификатов, выполнив эту команду:

sudo certbot renew --dry-run

Установка Let’s Encrypt с помощью Certbot завершена.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.