Let's Encrypt — различия между версиями

Материал из CADR
Перейти к: навигация, поиск
(Создал страницу)
 
(Исправил опечатку)
Строка 27: Строка 27:
  
 
   # Путь к файлу сертификата (публичного ключа):
 
   # Путь к файлу сертификата (публичного ключа):
   $ export CERT_FILE_PATH=/etc/ssl/cert/${DOMAIN}.cert
+
   $ export CERT_FILE_PATH=/etc/ssl/certs/${DOMAIN}.cert
  
 
   # Путь к файлу (закрытого) ключа:
 
   # Путь к файлу (закрытого) ключа:

Версия 01:41, 23 января 2016

Клиенты

Взаимодействие с сервером Let's Encrypt происходит посредством протокола ACME. Кроме официального клиента letsencrypt существует большое количество сторонних реализаций. Список клиентов Let's Encrypt можно посмотреть на странице List of Client Implementations.

Пример использования

Здесь мы рассмотрим получение сертификата через клиент le, написанный на Bash.

Предполагается, что сервер работает под Ubuntu 14.04, используется nginx в качестве web-сервера, и действия выполняются от root'а.

Во-первых, мы должны склонировать репозиторий -- допустим, в каталог /opt/le:

 $ git clone https://github.com/Neilpang/le.git /opt/le

Далее необходимо выполнить установку:

 $ cd /opt/le
 $ ./le.sh install

Установщик создаёт каталог ~/.le и копирует в него le.sh, создаёт символьную ссылку /bin/le -> ~/.le/le.sh и добавляет в cron текущего пользователя (в нашем случае, root'а) задание по проверке сертификата и обновления его, если это требуется.

Теперь мы можем получить наш сертификат:

 # Название домена, для которого необходим сертификат:
 $ export DOMAIN=example.ru
 # Длина ключа:
 $ export KEY_LEN=2048
 # Путь к файлу сертификата (публичного ключа):
 $ export CERT_FILE_PATH=/etc/ssl/certs/${DOMAIN}.cert
 # Путь к файлу (закрытого) ключа:
 $ export KEY_FILE_PATH=/etc/ssl/private/${DOMAIN}.key
 # Путь к сертификату центра сертификации Let's Encrypt:
 $ export CA_CERT_FILE_PATH=/etc/ssl/certs/ca-letsencrypt.cert
 # Команда перезапуска web-сервера (выполняется после обновления
 # сертификата, скажем, по cron'у):
 $ export RELOAD_CMD="service nginx restart"
 $ le issue no \
     $DOMAIN $DOMAIN $KEY_LEN \
     $CERT_FILE_PATH \
     $KEY_FILE_PATH \
     $CA_CERT_FILE_PATH \
     $RELOAD_CMD