Webroot Let's Encrypt, бесплатный ssl сертификат для сайта

Бесплатный SSL сертификат для сайта можно получить сгенерировав его самостоятельно или выпустив сертификат, который не предусматривает оплаты. Среди сертификационных центром предлагающих такие решения самым известным является Let's Encrypt

 

 

Рассмотрим процесс получения SSL сертификата используя плагин Webroot Certbot центра Let's Encrypt

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

Прежде всего про certbot.

certbot (он же certbot-auto и letsencrypt) — скрипт, позволяющий выпускать, обновлять и устанавливать (для некоторых плагинов) SSL сертификаты

 

 

Плагины certbot делятся на 2 группы:
  • Authenticators — используют команду certonly и выпускают сертификаты помещая файлы в каталог /etc/letsencrypt, на сервер сертификаты при этом не устанавливают; выпускается сертификат только для одного домена (если указано несколько — все сертификаты будут в одном файле).
  • Intsallers — выпускают сертификаты и устанавливают их на сервер, за один раз при этом выпустить можно несколько сертификатов

 

 

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

 

Чтобы выпустить сертификат используется команда certonly с именем плагина, далее указываются домены и путь к директории с файлами сайтов

certonly —webroot —webroot-path /var/www/site1 -d site1.com —webroot-path /var/www/site2 -d site2.com

 

—webroot-path можно заменить на -w, если SSL сертификат выпускается для нескольких сайтов учитывается последнее встречающееся в команде значение —webroot-path (-w). В примере выше для домена site1.com это будет /var/www/site1, для домена site2.com — /var/www/site2.

 

Путь к корневой директории сайта нужен для того, чтобы certbot мог разместить в ней невидимый каталог .well-known, в нем acme-challenge. В acme-challenge в свою очередь будет находиться файл, содержимое которого проверяется сертификационным центром.
 
 
 

Подлинность домена со стороны Letsencrypt при использовании Webroot проверяется в два шага:
  1. запрос к DNS — имя домена должно разрешаться в IP адрес с которого запрашивается сертификат
  2. GET-запрос к /document-root/.well-known/acme-challenge/FILENAME

бесплатный ssl сертификат для сайта, webroot lentsencrypt
 

 

При этом важно, чтобы веб-сервер был настроен таким образом чтобы мог отдавать содержимое невидимых каталогов (.well-known невидимый поскольку начинается с точки).

 

Плагин Webroot Letsencrypt таким образом позволяет получить бесплатный SSL сертификат для сайта, который будет действовать 3 месяца и признаваться всеми современными браузерами.

Сертификат автоматически установлен не будет — его потребуется подключить на Nginx или Apache, также можно настроить автоматическое продление сертификата написав bash скрипт и добавив его в CRON.