Найти тему
Админские Истории

Бесплатный SSL сертификат для nginx в Ubuntu 20.04 это просто!

Если вы, как и я, устали от постоянно всплывающего окна "Ваше подключение не защищено" в браузере, предлагаю подробную инструкцию. которая поможет решить проблему. В теории, подойдет даже начинающим (но это не точно). По крайней мере, это хороший повод, чтобы начать изучение темы :)

ИТАК, ПОЕХАЛИ!

Прописываем в терминал, генерируем самоподписанный сертификат

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/nginx/nginx.crt

в ответ получаем:

Заполняем поля по желанию
Заполняем поля по желанию

Затем генерируем ключ для шифрования

sudo openssl dhparam -out /etc/nginx/dhparam.pem 2048

Это занимает какое-то время. Активно ждем.
Это занимает какое-то время. Активно ждем.

Редактируем sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

прописываем: server_name ваш_домен.ru www.ваш_домен.ru;

А ТЕПЕРЬ - СОХРАНЯЕМСЯ!

Открываем: cd /etc/nginx/templates/

Затем: nano ssl.tmpl

-3

Прописываем:

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;
ssl_certificate /etc/nginx/nginx.crt;
ssl_certificate_key /etc/nginx/nginx.key;

И СНОВА СОХРАНЯЕМСЯ!

Выполним проверку настроек nginx: sudo nginx –t

Все нормально выглядит вот так
Все нормально выглядит вот так

Перезапустим nginx: sudo service nginx reload

Далее установим пакеты для управления репозиториями:

sudo apt-get install software-properties-common

Добавим репозиторий certbot:

sudo add-apt-repository ppa:certbot/certbot

Обновимся: sudo apt-get update

Установим Certbot для nginx:

sudo apt-get install python3-certbot-nginx

Соглашаемся (y)
Соглашаемся (y)

После установки запускаем sudo certbot --nginx

указываем почту для связи
указываем почту для связи

Соглашаемся с условиями
Соглашаемся с условиями

отказываемся от рассылки
отказываемся от рассылки

Указываем для каких хостов активировать HTTPS

-9
У нас в локальной сети есть домен .lan, поэтому не пугайтесь, для них мы не делаем сертификат, так же у меня не выдало сертификат на адрес с приставкой www.

Далее нам предложит поставить переадрисацию с http на https

Жмем цифру 2
Жмем цифру 2

Поздравляем! У вас есть ssl на 3 месяца)
Поздравляем! У вас есть ssl на 3 месяца)

Теперь нужно настроить авто продление. Открываем планировщик:

crontab –e

-12

Исходя из этого, в 0 минут в 3 часа ночи 11 числа каждый второй месяц будет обновляется сертификат. Осталось только сохранить и закрыть.

Все готово, вы восхитительны!

-13

Самое время выпить чай! Я как-то рассказывал, чем может обернуться подобное желание:)

Постепенно буду давать ещё больше полезных инструкций, не переключайтесь!