Certbot (Русский)

From ArchWiki
Revision as of 16:14, 24 August 2017 by Khvalera (talk | contribs) (Расширенная конфигурация)
Jump to navigation Jump to search

Let’s Encrypt бесплатный, автоматизированный, открытый центр сертификации использующий ACME протокол.

Официальный клиент называется 'Certbot', который позволяет запрашивать действительные сертификаты X.509 прямо из командной строки. Минимальный клиент с ручным созданием CSR доступен в acme-tinyAUR, клиенты, подходящие для скриптов, - это simp_le-gitAUR и letsencrypt-cliAUR.

Установка

Установить пакет certbot.

Плагины доступны для автоматической настройки и установки выданных сертификатов на веб-серверах:

  • Экспериментальный плагин для Nginx предоставляется пакетом certbot-nginx.
  • Автоматическая установка с использованием Apache HTTP Server включена через пакет certbot-apache.

Конфигурация

Для получения дополнительной информации об создании и использовании сертификатов обращайтесь в документацию Certbot documentation

Webroot

Note:
  • Метод Webroot требует HTTP на порт 80 для проверки Certbot.
    • Чтобы Certbot проверял использование HTTPS на порту 443, вместо Webroot следует использовать плагин Nginx (--nginx) или Apache ( --apache) (--webroot).
  • Имя сервера должно соответствовать имени соответствующего DNS.
  • На хосте могут потребоваться разрешения, чтобы разрешить доступ для чтения к http://domain.tld/.well-known.

При использовании метода webroot клиент Certbot отправляет запрос вызова внутри /path/to/domain.tld/html/.well-known/acme-challenge/ который используется для проверки.

Использование этого метода рекомендуется для ручной установки; Он предлагает автоматическое обновление и упрощение управления сертификатами.


Tip: The following initial nginx server configuration may be helpful to obtain a first-time certificate:
/etc/nginx/servers-available/domain.tld

server {
  listen 80;
  listen [::]:80;
  server_name domain.tld;
  root /usr/share/nginx/html;
  location / {
    index index.htm index.html;
  }
}

# ACME challenge
location ^~ /.well-known {
  allow all;
  auth_basic off;
  alias /var/lib/letsencrypt/.well-known/;
  default_type "text/plain";
  try_files $uri =404;
}

Получить сертификат

Запросить сертификат для domain.tld с помощью /var/lib/letsencrypt/

# certbot certonly --email email@example.com --webroot -w /var/lib/letsencrypt/ -d domain.tld

Чтобы добавить (дополнительный) домен, включите все зарегистрированные домены, используемые в текущей настройке:

# certbot certonly --email email@example.com --webroot -w /var/lib/letsencrypt/ -d domain.tld,sub.domain.tld

Чтобы обновить (все) текущий сертификат (ы):

# certbot renew

Смотрите #Automatic renewal[broken link: invalid section] как альтернативный вариант

Вручную

Note:
  • Управляемый веб-сервер нужно временно приостановить.
  • Автоматическое обновление недоступно при ручной установке, см. #Webroot.

Если для вашего веб-сервера нет плагина, используйте следующую команду:

# certbot certonly --manual

Если вы предпочитаете использовать DNS-вызов (запись TXT), используйте:

# certbot certonly --manual --preferred-challenges dns

Это автоматически проверяет ваш домен и создает закрытый ключ и пару сертификатов. Они размещены в /etc/letsencrypt/live/your.domain/.

Затем вы можете вручную настроить веб-сервер для использования ключа и сертификата в этом каталоге.

Note: Running this command multiple times will create multiple sets of files with a trailing number in /etc/letsencrypt/live/your.domain/ so take care to rename them in that directory or in the webserver config file.

Расширенная настройка

Note:
  • Запускаемый веб-сервер должен быть временно остановлен.
  • Автоматическое обновление недоступно при выполнении ручной установки, см. #Webroot.

Если для вашего веб-сервера нет плагина, используйте следующую команду:

# certbot certonly --manual

Если вы предпочитаете использовать DNS-вызов (запись TXT), используйте:

# certbot certonly --manual --preferred-challenges dns

Это автоматически проверяет ваш домен и создает закрытый ключ и пару сертификатов. Они будут размещены в /etc/letsencrypt/live/your.domain/.

Затем вы можете вручную настроить веб-сервер для использования ключа и сертификата в этом каталоге.

Note: Запуск этой команды несколько раз приведет к созданию нескольких наборов файлов с конечным числом в /etc/letsencrypt/live/your.domain/ поэтому позаботьтесь о том, чтобы переименовать их в этом каталоге или в файле конфигурации веб-сервера.

Расширенная конфигурация

Note:
  • The running webserver has to temporarily stopped.
  • Automatically renewal is not available when performing manual install, see #Webroot instead.

If there is no plugin for your web server, use the following command:

# certbot certonly --manual

When preferring to use DNS challenge (TXT record) use:

# certbot certonly --manual --preferred-challenges dns

This will automatically verify your domain and create a private key and certificate pair. These are placed in /etc/letsencrypt/live/your.domain/.

You can then manually configure your web server to use the key and certificate in that directory.

Note: Running this command multiple times will create multiple sets of files with a trailing number in /etc/letsencrypt/live/your.domain/ so take care to rename them in that directory or in the webserver config file.