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