
Предположим, я запускаю службу на example.com, которая использует запись SRV для направления клиентов на нее (в моем случае это xmpp, но я думаю, что это применимо к чему угодно). Службе нужен сертификат для идентификации себя для клиентов, и я хочу использовать certbot/letsencrypt, чтобы получить его. Однако запись A example.com указывает на веб-хостинг на другом сервере.
Есть ли способ запросить, чтобы letsencrypt «перезвонил мне», используя запись SRV, а не запись A? Если нет, есть ли способ контролировать его шаблон URL обратного вызова, так что я могу настроить веб-хост в записи A для проксирования обратного вызова на хост, который фактически запрашивает сертификат?
Мне известно о проблемах DNS как об альтернативной проверке, но для целей этого вопроса предположим, что я не хочу хранить учетные данные моего поставщика DNS на хосте службы.
решение1
Я почти уверен, что LE хочет того же, чего и вы. Вы можете настроить свой веб-хостинг так, чтобы он просто получал сертификаты (certbot certonly ...), а затем копировал их на свой XMPP-сервер. Аналогично, DNS-01 challenge не нужно запускать на самом хосте. Вы можете использовать такой инструмент, какобезвоженныйчтобы получить сертификаты в любой системе и затем вытолкнуть их туда, где они нужны. Тогда вам не нужно хранить учетные данные службы DNS на сервере XMPP. Это то, что я делаю для ряда сертификатов, которые я впоследствии использую для развертывания с помощью Puppet.
решение2
Let's Encrypt не проверяет никакие записи SRV в процессе проверки.
Вместо этого вам следует настроить запись TXT, более подробную информацию можно найти по адресу:
Как использовать проверку подлинности DNS-запроса Let's Encrypt?