Letsencrypt

Настройка apache 2.4 и nginx для работы с сертификатами от letsencrypt и получения A+ на ssllabs.com

Прописываем package.keywords, версии пакетов актуальны на момент написания заметки.
/etc/portage/package.keywords/letsencrypt
=dev-python/pyrfc3339-1.0
=dev-python/pythondialog-3.3.0-r200
=dev-python/parsedatetime-1.5
=dev-python/zope-component-4.2.2
=app-crypt/acme-0.1.0-r1
=dev-python/pyopenssl-0.15.1
=dev-python/zope-event-4.0.3
=app-crypt/letsencrypt-0.1.0-r1
Ставим
# emerge app-crypt/letsencrypt
Создаём эккаунт
# letsencrypt certonly --email letsencrypt@tld.ru --agree-tos

Скрипт попросит ввести имена наших доменов, ничего не вводим, нажимаем Enter. Проверяем, что эккаунт создан:

# ls -lhA /etc/letsencrypt/accounts/acme*/directory/
drwx------ 2 root root 144 Dec 32 25:66 809b2c3ed9000435baea444dc4689999
Генерация сертификатов.

Составляем список доменных имён, для которых надо создать сертификаты. Для меня это два списка:

# 1й список
www.sabitov.ru
sabitov.ru
cidr.sabitov.ru
doc.sabitov.ru
reader.sabitov.ru
wolf.sabitov.ru
sabitov.su
cidr.sabitov.su
doc.sabitov.su
reader.sabitov.su
wolf.sabitov.su
www.sabitov.su
sabitov.pp.ru
cidr.sabitov.pp.ru
doc.sabitov.pp.ru
reader.sabitov.pp.ru
wolf.sabitov.pp.ru
www.sabitov.pp.ru
 
# 2й список
wiki.sabitov.ru
wiki.sabitov.su
wiki.sabitov.pp.ru

Стопаем www-сервер, который слушает 80й порт, запрашиваем сертификаты, стартуем www-сервер обратно.

# /etc/init.d/nginx stop
# letsencrypt -vv certonly --rsa-key-size 4096  -d www.sabitov.ru -d sabitov.ru -d cidr.sabitov.ru -d doc.sabitov.ru -d reader.sabitov.ru -d wolf.sabitov.ru -d sabitov.su -d cidr.sabitov.su -d doc.sabitov.su -d reader.sabitov.su -d wolf.sabitov.su -d www.sabitov.su -d sabitov.pp.ru -d cidr.sabitov.pp.ru -d doc.sabitov.pp.ru -d reader.sabitov.pp.ru -d wolf.sabitov.pp.ru -d www.sabitov.pp.ru
# letsencrypt -vv certonly --rsa-key-size 4096  -d wiki.sabitov.ru -d wiki.sabitov.su -d wiki.sabitov.pp.ru
# /etc/init.d/nginx start
# ls -lhA /etc/letsencrypt/live/

Последняя команда покажет две директории: wiki.sabitov.ru и www.sabitov.ru. Что важно:

  1. DNS-имя, указанное первым, будет указано как CN в сертификате, остальные имена пойдут в алиасы.
  2. DNS-имя, указанное первым, будет использоваться как имя директории, в которую будут сохраняться ключи.

Качаем корневой сертификат:

# cd /etc/letsencrypt/csr
# wget https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem

Настройка nginx


sys/letsencrypt.txt · Последние изменения: 2015-12-16 22:52 — Andrew A. Sabitov