Получаем валидные сертификаты SSL от Let's Encrypt для NGINX
Let’s Encrypt — это бесплатный, автоматизированный и открытый Центр Сертификации, созданный некоммерческой организацией Internet Security Research Group (ISRG).
Центр сертификации Let’s Encrypt выдаёт валидные сертификаты SSL сроком действия на 90 дней. Мы также можем автоматизировать процесс продления сертификатов с помощью запланировщика задач cron.
Устанавливаем необходимые пакеты:
Ubuntu / Debian
apt install certbot python3-certbot-nginx -y
RHEL
yum install certbot-nginx -y
Создадим конфигурацию для сайта newsite.com в NGINX:
vi /etc/nginx/conf.d/newsite_com.conf
server {
listen 80;
server_name newsite.com www.newsite.com;
#return 301 https://$host$request_uri;
root /usr/share/nginx/html;
index index.html;
location / {
deny all;
}
location ^~ /.well-known {
default_type 'text/plain';
allow all;
}
error_log /var/log/nginx/newsite_com_error.log error;
access_log /var/log/nginx/newsite_com_access.log;
}
Проверяем изменения на наличие ошибок и перечитываем конфиг:
nginx -t
nginx -s reload
Запускаем скрипт для получения сертификата для домена newsite.com через плагин webroot:
certbot certonly -a webroot -w /usr/share/nginx/html --email [email protected] --agree-tos -d newsite.com -d www.newsite.com
Проверяем наличие сертификата в директории:
ls -l /etc/letsencrypt/live/
Редактируем конфигурацию сайта:
vi /etc/nginx/conf.d/newsite_com.conf
server {
listen 80;
server_name newsite.com www.newsite.com;
return 301 https://$host$request_uri;
root /usr/share/nginx/html;
index index.html;
location / {
deny all;
}
location ^~ /.well-known {
default_type 'text/plain';
allow all;
}
error_log /var/log/nginx/newsite_com_error.log error;
access_log /var/log/nginx/newsite_com_access.log;
}
server {
listen 443 ssl;
server_name newsite.com www.newsite.com;
ssl_certificate /etc/letsencrypt/live/newsite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/newsite.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
location ^~ /.well-known {
default_type 'text/plain';
allow all;
}
error_log /var/log/nginx/newsite_com_ssl_error.log error;
access_log /var/log/nginx/newsite_com_ssl_access.log;
}
Проверяем изменения на наличие ошибок и перечитываем конфиг:
nginx -t
nginx -s reload
Создадим скрипт для автоматического продления сертификатов:
vi /root/le-renew.sh
#!/bin/bash
certbot renew
Запланируем запуск скрипта на каждый месяц:
crontab -e
0 0 1 * * /root/le-renew.sh
Делаем скрипт исполняемым:
chmod u+x /root/le-renew.sh
Новость отредактировал: sobir - 17-10-2021, 11:38
Причина: Информация обновлена
Комментарии
Hi tһere, I would like what hɑs һappened
to abc classic fm? subscribe fоr this web site
tо tаke most սp-to-ⅾate updates, tһerefore ѡherе сan i do it please help out.
to abc classic fm? subscribe fоr this web site
tо tаke most սp-to-ⅾate updates, tһerefore ѡherе сan i do it please help out.
<a href=https://sites.google.com/view/hondrostrong-crema-italia/>hondrostrong crema italia</a>
Принудительное обновление сертификата:
certbot certonly --force-renew -d newsite.com
certbot certonly --force-renew -d newsite.com
Получаем SSL сертификат с помощью плагина nginx:
certbot certonly --nginx -d newsite.com -d www.newsite.com
certbot certonly --nginx -d newsite.com -d www.newsite.com
Можно, но я решил описать процесс копирования ключей более подробно.
Какой дистрибутив Linux вы часто используете?
Реклама

Гости1