Usando letsencrypt y certbot, ¿cómo agrego un servidor de correo a un certificado existente?

Usando letsencrypt y certbot, ¿cómo agrego un servidor de correo a un certificado existente?

Anfitrión:Océano digital

SO:CentOS

Tengo un certificado SSL existente que cubre mi dominio.

$ certbot certificatesproduce esta salida.

Found the following certs:
   Certificate Name: example.com
     Domains: example.com www.example.com
     Expiry Date: 2020-04-12 21:20:31+00:00 (VALID: 86 days)
     Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
     Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem

Lo instalé postfixy creo que necesito agregarcorreo.ejemplo.coma mi certificado.

Intenté agregarcorreo.ejemplo.coma mi certificado usando este comando,

$ sudo certbot certonly --standalone -d mail.example.com

Desafortunadamente arrojó este error,

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mail.example.com
Waiting for verification…
Challenge failed for domain mail.example.com
http-01 challenge for mail.example.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:

The following errors were reported by the server:

Domain: mail.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up A for mail.example.com

Parece que certbot está intentando instalarcorreo.ejemplo.comutilizando un registro A. En Digital Ocean en mi sección de Registros de Dominiocorreo.ejemplo.comse creó como un registro MX, no como un registro A.

Respuesta1

Tienes razón, para la entrega de correo necesitas una entrada MX. PERO: mail.testsite.com es un nombre de host completo. Y debe decirle a todos los que quieran entregarle correo cuál es la dirección IP de este nombre de host. Por lo tanto, también necesita un registro A, que apunte al servidor donde desea recibir el correo.

Cree el registro a, apunte a su servidor de correo y ejecute certbot desde esa máquina. Asegúrese de que un servidor web esté respondiendo en el puerto 80 para mail.testsite.com para que la verificación sea exitosa. Entonces funcionará.

Respuesta2

Hazlo asi:

$ sudo certbot -d mail.example.com --manual --preferred-challenges dns certonly

Se imprimirá un registro DNS TXT (simplemente no haga clicingresartodavía), publíquelo en su DNS y espere hasta que esté seguro de que el registro TXT se puede leer desde fuera de su DNS y luego haga clic eningresary será verificado.

Respuesta3

Si Ionos es su proveedor de DNS y sigue la convención común de llamar a su servidor de correo mail.example.com, no es suficiente crear un registro A "correo" y un registro MX "correo". Su registro TXT no cumple con certbot.

Debes crear unsubdominiollamado "correo" usando la interfaz de usuario de Ionos. Luego puedes navegar a ese subdominio en la interfaz de usuario, crear tu registro TXT y llamarlo "_acme-challenge". Eso produce un registro TXT funcional "_acme-challenge.mail.example.com".

mejor lo dejo para futuras consultas

Me parece que el valor del desafío cambia cada vez que ejecuta certbot. Así que puedes dejar el registro TXT en su lugar pero tendrás que editarlo cada vez.

información relacionada