Lets Encrypt Wildcard SSL вручную

Wildcard сертификат выдаётся на поддомены (*.tyapk.ru), например example.tyapk.ru, forum.tyapk.ru, www.tyapk.ru и все остальные, но не включает сам домен tyapk.ru. Очевидное преимущество в том, что не нужно выпускать отдельные сертификаты для отдельных поддоменов.

Рассматривается ручной выпуск SSL сертификата от Lets Encrypt, который выдаётся на 3 месяца. Соответственно продлением требуется заниматься не реже 4 раз в год. Прежде всего требуется пакет openssl

yum update -y
yum install -y openssl 

Для установки Wildcard-сертификата используется утилита ACME.sh

[root@a home]# curl https://get.acme.sh | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   754    0   754    0     0   1979      0 --:--:-- --:--:-- --:--:--  1984
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  191k  100  191k    0     0   254k      0 --:--:-- --:--:-- --:--:--  257k
[Ср янв 22 07:25:34 UTC 2020] Installing from online archive.
[Ср янв 22 07:25:34 UTC 2020] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz
[Ср янв 22 07:25:36 UTC 2020] Extracting master.tar.gz
[Ср янв 22 07:25:36 UTC 2020] It is recommended to install socat first.
[Ср янв 22 07:25:36 UTC 2020] We use socat for standalone server if you use standalone mode.
[Ср янв 22 07:25:36 UTC 2020] If you dont use standalone mode, just ignore this warning.
[Ср янв 22 07:25:36 UTC 2020] Installing to /root/.acme.sh
[Ср янв 22 07:25:36 UTC 2020] Installed to /root/.acme.sh/acme.sh
[Ср янв 22 07:25:36 UTC 2020] Installing alias to '/root/.bashrc'
[Ср янв 22 07:25:36 UTC 2020] OK, Close and reopen your terminal to start using acme.sh
[Ср янв 22 07:25:36 UTC 2020] Installing alias to '/root/.cshrc'
[Ср янв 22 07:25:36 UTC 2020] Installing alias to '/root/.tcshrc'
[Ср янв 22 07:25:36 UTC 2020] Installing cron job
no crontab for root
no crontab for root
[Ср янв 22 07:25:36 UTC 2020] Good, bash is found, so change the shebang to use bash as preferred.
[Ср янв 22 07:25:37 UTC 2020] OK
[Ср янв 22 07:25:37 UTC 2020] Install success!

Перейдите в указанную установщиков директорию .acme.sh и выполните следующую команду ./acme.sh --issue -d platform.vepp.ml -d '*.platform.vepp.ml' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please на выпуск 2 сертификатов:

  • основного домена platform.vepp.ml
  • поддоменов основного домена *.platform.vepp.ml
cd /root/.acme.sh
[root@a .acme.sh]# ./acme.sh --issue -d platform.vepp.ml -d '*.platform.vepp.ml' --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please
[Ср янв 22 07:37:50 UTC 2020] Single domain='*.platform.vepp.ml'
[Ср янв 22 07:37:50 UTC 2020] Getting domain auth token for each domain
[Ср янв 22 07:37:53 UTC 2020] Getting webroot for domain='*.platform.vepp.ml'
[Ср янв 22 07:37:53 UTC 2020] Add the following TXT record:
[Ср янв 22 07:37:53 UTC 2020] Domain: '_acme-challenge.platform.vepp.ml'
[Ср янв 22 07:37:53 UTC 2020] TXT value: 'sUktgV6JfX3XN32S-puWfmjMPoOEpCOdDPhuAKp7mOA'
[Ср янв 22 07:37:53 UTC 2020] Please be aware that you prepend _acme-challenge. before your domain
[Ср янв 22 07:37:53 UTC 2020] so the resulting subdomain will be: _acme-challenge.platform.vepp.ml
[Ср янв 22 07:37:53 UTC 2020] Please add the TXT records to the domains, and re-run with --renew.
[Ср янв 22 07:37:53 UTC 2020] Please add '--debug' or '--log' to check more details.
[Ср янв 22 07:37:53 UTC 2020] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

Далее требуется прописать предложенную TXT запись _acme-challenge.platform.vepp.ml со значением sUktgV6JfX3XN32S-puWfmjMPoOEpCOdDPhuAKp7mOA у регистратора для подтверждения прав.

screenshot-82.146.47.1-2020.01.png

После необходимо выполнить команду перевыпуска, заменив в оригинальной команде выпуска ключ --issue на --renew.

[root@a .acme.sh]# ./acme.sh -d platform.vepp.ml -d '*.platform.vepp.ml' --renew  --yes-I-know-dns-manual-mode-enough-go-ahead-please
[Ср янв 22 07:42:58 UTC 2020] Renew: '*.platform.vepp.ml'
[Ср янв 22 07:42:59 UTC 2020] Single domain='*.platform.vepp.ml'
[Ср янв 22 07:42:59 UTC 2020] Getting domain auth token for each domain
[Ср янв 22 07:42:59 UTC 2020] Verifying: *.platform.vepp.ml
[Ср янв 22 07:43:04 UTC 2020] Success
[Ср янв 22 07:43:04 UTC 2020] Verify finished, start to sign.
[Ср янв 22 07:43:04 UTC 2020] Lets finalize the order, Le_OrderFinalize: https://acme-v02.api.letsencrypt.org/acme/finalize/7XXXXX06/2XXXXXXX52
[Ср янв 22 07:43:06 UTC 2020] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/04asdfasdfasdfsdfsdfasdfd4ed5e6bd52
[Ср янв 22 07:43:07 UTC 2020] Cert success.
-----BEGIN CERTIFICATE-----
MIIFWzCCBEOgAwIBAgISBJc/EG3l454Jqa+XLU7V5r1SMA0GCSqGSIb3DQEBCwUA
...
bJo8OulrAbClwClw4n8K9M3OdHk19r58t3+8OGUwPQ==
-----END CERTIFICATE-----
[Ср янв 22 07:43:07 UTC 2020] Your cert is in  /root/.acme.sh/*.platform.vepp.ml/*.platform.vepp.ml.cer 
[Ср янв 22 07:43:07 UTC 2020] Your cert key is in  /root/.acme.sh/*.platform.vepp.ml/*.platform.vepp.ml.key 
[Ср янв 22 07:43:07 UTC 2020] The intermediate CA cert is in  /root/.acme.sh/*.platform.vepp.ml/ca.cer 
[Ср янв 22 07:43:07 UTC 2020] And the full chain certs is there:  /root/.acme.sh/*.platform.vepp.ml/fullchain.cer 

По мотивам Как получить бесплатный Wildcard SSL-сертификат

Похожие записи

Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.

Про популярные linux'ы

Кратко про самые популярные дистрибутивы, используемые для размещения сайтов: Ubuntu, Debian, CentOS, RHEL, Gentoo, Fedora, SuSE

29 февраля 2020 г. в Linux

Linux. Команда sed

Команда sed - это потоковый редактор текста. Вставляет/изменяет/добавляет текст не открывая файл визуально. Обычно используется в скриптах.