Как я могу получить сертификат Let's Encrypt для закрытого сервера?

Это разделит все символы, которые являются вне диапазона 0x32 (пространство) к 0x7e (тильда):

someprog | LANG=C sed 's/[\x00-\x31\x7f-\xff]//g'

Можно использовать другие диапазоны символов, чтобы быть более выборочными.

8
задан 30 January 2017 в 18:10
3 ответа

Если вы контролируете DNS для домена, вы можете использовать метод запроса dns-01, чтобы подтвердить право собственности, создав запись TXT.

Это можно сделать вручную или автоматически. Я думаю, что даже официальный клиент certbot теперь поддерживает dns-01.

Быстрый Google показывает мне кучу руководств с использованием различных сценариев и клиентов, поэтому я не буду повторять их здесь. Этот специально автоматизирует сертификаты интрасети.

10
ответ дан 2 December 2019 в 22:51

Вы упомянули использование Apache, однако если Вы не связываетесь с ним существует очень легкий путь возможное использование Caddyserver.

Там только необходимо определить Caddyfile со следующим содержанием:

example.com
tls {
    dns cloudflare
}

Упоминание поставщик DNS Вы используете в конфигурации и настраиваете ключи API, которые Вы через переменные среды. Потяните из списка поддерживаемых поставщиков от эти документы .

, Это, все там требуется. Вывод на первом запуске будет чем-то как:

Activating privacy features... 2019/10/21 13:36:48 [INFO][cache:0xc0001c8190] Started certificate maintenance routine
[INFO][cache:0xc000092730] Started certificate maintenance routine
2019/10/21 13:24:49 [INFO][example.com] Obtain certificate
2019/10/21 13:24:49 [INFO] [example.com] acme: Obtaining bundled SAN certificate
2019/10/21 13:24:50 [INFO] [example.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/876706285
2019/10/21 13:24:50 [INFO] [example.com] acme: Could not find solver for: tls-alpn-01
2019/10/21 13:24:50 [INFO] [example.com] acme: Could not find solver for: http-01
2019/10/21 13:24:50 [INFO] [example.com] acme: use dns-01 solver
2019/10/21 13:24:50 [INFO] [example.com] acme: Preparing to solve DNS-01
2019/10/21 13:24:50 [INFO] cloudflare: new record for example.com, ID XXX
2019/10/21 13:24:50 [INFO] [example.com] acme: Trying to solve DNS-01
2019/10/21 13:24:50 [INFO] [example.com] acme: Checking DNS record propagation using [127.0.0.11:53]
2019/10/21 13:24:50 [INFO] Wait for propagation [timeout: 2m0s, interval: 2s]
2019/10/21 13:24:50 [INFO] [example.com] acme: Waiting for DNS record propagation.
2019/10/21 13:24:52 [INFO] [example.com] acme: Waiting for DNS record propagation.
2019/10/21 13:24:55 [INFO] [example.com] The server validated our request
2019/10/21 13:24:55 [INFO] [example.com] acme: Cleaning DNS-01 challenge
2019/10/21 13:24:55 [INFO] [example.com] acme: Validations succeeded; requesting certificates
2019/10/21 13:24:56 [INFO] [example.com] Server responded with a certificate.
done.

Serving HTTPS on port 443
https://example.com

2019/10/21 13:36:48 [INFO] Serving https://example.com

Serving HTTP on port 80
http://example.com

2019/10/21 13:36:48 [INFO] Serving http://example.com
0
ответ дан 2 December 2019 в 22:51

Клиент certbot может вручную выполнить запрос DNS. Ответ на этот вопрос (второй по популярности в настоящее время) Как использовать проверку запросов DNS Let's Encrypt? содержит все подробности, и я только что проверил его как работающий.

Обычно вы запускаете эту команду и следуете указаниям:

certbot -d site.your.dom.ain --manual --preferred-challenges dns certonly
4
ответ дан 2 December 2019 в 22:51

Теги

Похожие вопросы