
Supongamos que ejecuto un servicio en example.com que se basa en un registro SRV para dirigir a los clientes a él (en mi caso es xmpp, pero creo que esto se aplica a cualquier cosa). El servicio necesita un certificado para identificarse ante los clientes y quiero usar certbot/letsencrypt para obtener uno. Sin embargo, el registro A de example.com apunta a un servidor web en un servidor diferente.
¿Hay alguna forma de solicitar que letsencrypt "me devuelva la llamada" utilizando el registro SRV en lugar del registro A? Si no es así, ¿hay alguna manera de controlar su patrón de URL de devolución de llamada, de modo que pueda configurar el servidor web en el registro A para enviar la devolución de llamada al servidor que realmente solicita el certificado?
Soy consciente de los desafíos de DNS como verificación alternativa, pero para los fines de esta pregunta, supongamos que no quiero conservar las credenciales de mi proveedor de DNS en el host del servicio.
Respuesta1
Estoy bastante seguro de que LE quiere que tú quieras. Puede configurar su servidor web para obtener solo los certificados (certbot certonly...) y luego copiarlos a su servidor XMPP. De manera similar, no es necesario ejecutar el desafío DNS-01 en el propio host. Puedes usar una herramienta comodeshidratadopara obtener los certificados en cualquier sistema y luego enviarlos a donde sea necesario. Entonces no es necesario almacenar las credenciales del servicio DNS en el servidor XMPP. Esto es lo que hago para una serie de certificados que posteriormente uso Puppet para implementar.
Respuesta2
Let's Encrypt no verifica ningún registro SRV en el proceso de verificación.
En su lugar, deberías configurar un registro TXT, más información en:
¿Cómo utilizar la validación de desafío DNS de Let's Encrypt?