home

Как бесплатно получить wildcard SSL-сертификат с помощью Let’s Encrypt

Электронную библиотеку ELiS рекомендуется использовать только по HTTPS, а значит надо получить SSL-сертификат. Причин работать только по HTTPS множество, от заботы о безопасности данных пользователей при работе в беспроводных сетях, до невозможности встраивания embed-кодом HTTP-ресурсов на HTTPS-сайтах.

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

Бесплатно wildcard-сертификат стало возможно получить относительно недавно, но для этого необходимо контролировать DNS-зону.

Получение wildcard-сертификата с помощью Let’s Encrypt[править]

1) Вначале надо установить certbot любым удобным способом.

2) На момент написания статьи не каждый сервер Let’s Encrypt поддерживал выдачу wildcard-сертификата. Поэтому надо указать с каким конкретно сервером работать для получения сертификата. Получается сертификат из папки со скачанным certbot на домен *.elis.example.com и elis.example.com:

$ ./certbot-auto certonly --manual -d *.elis.example.com -d elis.example.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

Проверить наличие нужных TXT-записей под Windows можно командой:

nslookup -q=txt _acme-challenge.elis.example.com

3) В процессе работы скрипта сервер попросит создать в DNS две TXT-записи на _acme-challenge.elis.example.com для подтверждения наличия прав на управление DNS-зоной. TXT-записи должны быть созданы одновременно.

Поздравляю, сертификат получен.

4) Дальнейшие обновления надо проводить не реже раза в три месяца командой:

$ ./certbot-auto renew --quiet

Замечание: в настоящий момент certbot имеет ограниченный функционал подтверждения домена, поэтому может потребоваться ручная валидация домена раз в 3 месяца командой из п.2.

5) Не забудьте перезагрузить веб-сервер, чтобы обновленный сертификат подхватился.

# nginx -s reload