No name

Links

Software
OtherSoft
Images
LetsEncrypt или как бесплатно установить SSL на сайт

LetsEncrypt или как бесплатно установить SSL на сайт


visibility76 2021-02-28 15:38:38

Задача: есть сайт размещенный на сервере под управлением FreeBSD, на него нужно установить сертификат в ручном режиме с помощью другого компьютера под управлением Windows.

Для достижения результата потребуется:

1) ACME клиент, качаем отсюда Проект win-acme на GitHub

2) Доступ к серверу по SSH и SFTP

3) Доступ к административной части домена, для того чтобы сгенерировать сертификат я скачал trimmed версию, распаковал и запустил от имени администратора.

Далее выбираем обязательно второй пункт, чтобы была возможность указать что нам нужен сертификат в виде текстовых файлов, для постановки их на Apache.

Выбираем пункт Ручная установка.

Вводим адрес домена.

Нажимаем Enter.

На данном этапе нужно подтвердить владение доменом, на который нужно установить сертификат. Это можно сделать разными способами. Если, например, вы работаете с данной программой на сервере на котором стоит IIS и сайт, то подтверждение произойдет автоматически.

Для подтверждение владения доменом в ручном режиме можно использовать два варианта:

1) Установкой файла в корневую директорию сайта

2) Создание TXT записи на DNS сервере.

Я предпочитаю второй вариант, так использую Bind9.

Нажимаем Enter

Тут важно выбрать 2 вариант, для того чтобы сертификат был в виде текстовых файлов.

Указываем путь где будут лежать наши сертификаты после генерации.

Нажимаем Enter.

Если нужен сертификат еще и в другом исполнении, указываете в каком, я же жму Enter.

Нажимаем Enter.

На данном этапе необходимо создать запись на DNS сервере. Для этого подключаемся по SSH, открываем конфигурационный файл Bind9 добавляем запись в самом конце в формате:

_acme-challenge.letsencrypt. (табуляция) 14400 (табуляция) IN (табуляция) TXT (табуляция) v7hvgCnGnnZmxKnJyv1BPMeCc3I8-iEAg2mGqCPKg5w

Перезагружаем DNS сервер service named restart

После проделанных манипуляций нажимаем Enter.

Мы подтвердили факт владения доменом, теперь нас просят удалить сделанную запись и нажать Enter.

Сертификат готов, нужно теперь его установить. Открываем конфигурационный файл Apache httpd.conf и раскоментируем строку LoadModule ssl_module libexec/apache24/mod_ssl.so.

Открываем конфигурационный файл сайта и вносим правки.

В первом блоке указываем права на папку с сайтом, во втором делаем переадресацию на защищенный протокол, в третьем блоке задаем настройки сайта, где лежит главный файл, где находится журнал событий, и подключение сертификатов.

Сертификат установлен, срок действия сертификата 3 месяца, после нужно будет проделать все то же самое. Или установить ACME клиент на сервер с сайтом и он будет делать это автоматически, данный метод мне не нравится, предпочитаю делать такие вещи вручную и полностью контролировать процесс.



Полезные ссылки:

1) Проект win-acme на GitHub

Back