freebsd:network:letsencrypt
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| freebsd:network:letsencrypt [2020/06/15 17:10] – [Продление] andrei | freebsd:network:letsencrypt [2020/06/17 22:25] (текущий) – [Продление] andrei | ||
|---|---|---|---|
| Строка 5: | Строка 5: | ||
| ===== Введение ===== | ===== Введение ===== | ||
| - | Для того, чтобы шифровать трафик нам необходим SSL сертификат. Его конечно можно выпустить самому, | + | Для того, чтобы шифровать трафик нам необходим SSL сертификат. Его конечно можно выпустить самому, |
| Let's Encrypt я выбрал потому что: | Let's Encrypt я выбрал потому что: | ||
| - | * с помощью этого центра можно выпускать (а в ряде случаев даже установить) и продлевать полученные сертификаты в нашу систему в автоматическом режиме; | + | * с помощью этого центра можно выпускать (а в ряде случаев даже установливать) и продлевать полученные сертификаты в нашу систему в автоматическом режиме; |
| * он позволяет выпускать wildcard-сертификаты; | * он позволяет выпускать wildcard-сертификаты; | ||
| - | * и при всем при это он бесплатный; | + | * и при всем при этом он бесплатный; |
| Действие сертификата ограничивается 90 днями, но это не проблема, | Действие сертификата ограничивается 90 днями, но это не проблема, | ||
| Строка 20: | Строка 20: | ||
| ==== Bind ==== | ==== Bind ==== | ||
| - | Для подтверждения Ваши прав на домен, Let's Encrypt просит временно добавить | + | Для подтверждения Ваших прав на домен, Let's Encrypt просит временно добавить |
| < | < | ||
| _acme-challenge.nzgw.ru. 120 IN TXT " | _acme-challenge.nzgw.ru. 120 IN TXT " | ||
| </ | </ | ||
| - | Поскольку мы не хотим делать каждый раз в ручную, | + | Поскольку мы не хотим делать |
| Начнем с генерации TSIG-ключа (" | Начнем с генерации TSIG-ключа (" | ||
| Строка 144: | Строка 144: | ||
| </ | </ | ||
| Где: | Где: | ||
| - | * **certonly** | + | * **certonly** команда на выпуск сертификата без установки; |
| - | * **--dns-rfc2136** | + | * **--dns-rfc2136** плагин для авторизацию через DNS; |
| * **--dns-rfc2136-credentials** путь к файлу с настройками авторизации; | * **--dns-rfc2136-credentials** путь к файлу с настройками авторизации; | ||
| - | * **--preferred-challenges=dns** | + | * **--preferred-challenges=dns** тип авторизации; |
| - | * **--manual-public-ip-logging-ok** разрешаем логировать IP с которого пришел запрос на выпуск сертификата; | + | * **--manual-public-ip-logging-ok** разрешение |
| * **-d** список доменов для сертификата. | * **-d** список доменов для сертификата. | ||
| - | Если мы все правильно настроили и DNS авторизация прошла успешно, | + | Если мы все правильно настроили, и DNS авторизация прошла успешно, |
| < | < | ||
| Строка 188: | Строка 188: | ||
| * **privkey.pem** приватный ключ вашего сертификата. | * **privkey.pem** приватный ключ вашего сертификата. | ||
| - | < | + | < |
| </ | </ | ||
| ===== Настройка apache ===== | ===== Настройка apache ===== | ||
| - | Для того, что веб сервер apache начал использовать выпущенный сертификат, | + | Для того, чтобы веб сервер apache начал использовать выпущенный сертификат, |
| < | < | ||
| Строка 216: | Строка 216: | ||
| Теперь FreeBSD раз в неделю будет запускать соответсвующий скрипт, | Теперь FreeBSD раз в неделю будет запускать соответсвующий скрипт, | ||
| - | Но поскольку у меня несколько этим сертификатом | + | Но поскольку у меня несколько |
| < | < | ||
| #!/bin/sh | #!/bin/sh | ||
| | | ||
| - | . / | + | . /etc/rc.conf # подгружаем переменные из rc.conf |
| HOOK="" | HOOK="" | ||
| + | |||
| + | # Проверяем наличие нужной нам переменной | ||
| + | # и если она есть составляем команды для параметра --renew-hook | ||
| if [ -n " | if [ -n " | ||
| then | then | ||
| - | HOOK_CMD=" | ||
| for i in $certbot_service | for i in $certbot_service | ||
| do | do | ||
| - | if service $i onestatus | + | if service $i onestatus |
| then | then | ||
| if [ -n " | if [ -n " | ||
| Строка 244: | Строка 246: | ||
| </ | </ | ||
| + | Добавляем в файл / | ||
| - | При возникновение проблем с перевыпуском сертификата | + | < |
| + | certbot_service=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Перечисленные | ||
| + | </ | ||
| + | |||
| + | и создаем в / | ||
| < | < | ||
| - | certbot renew --renew-hook ' | + | @weekly |
| </ | </ | ||
| + | |||
| + | < | ||
| + | Если мы используем свой скрипт, | ||
| + | </ | ||
| + | |||
| + | При возникновение проблем с перевыпуском сертификата на стороне Let's Encrypt на email, указанный при регистрации аккаунта, | ||
| + | |||
freebsd/network/letsencrypt.1592241013.txt.gz · Последнее изменение: — andrei
