Wie füge ich mithilfe von Letsencrypt und Certbot einem vorhandenen Zertifikat einen Mailserver hinzu?

Wie füge ich mithilfe von Letsencrypt und Certbot einem vorhandenen Zertifikat einen Mailserver hinzu?

Gastgeber:Digitaler Ozean

Betriebssystem:CentOS

Ich habe ein bestehendes SSL-Zertifikat, das meine Domain abdeckt.

$ certbot certificateserzeugt diese Ausgabe.

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

Ich habe es installiert postfixund ich glaube, ich muss hinzufügenmail.beispiel.comzu meinem Zertifikat.

Ich habe versucht hinzuzufügenmail.beispiel.comzu meinem Zertifikat mit diesem Befehl,

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

Leider hat es diesen Fehler ausgelöst,

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

Es scheint, dass certbot versucht zu installierenmail.beispiel.commit einem A-Eintrag. Auf Digital Ocean in meinem Bereich „Domain Records“mail.beispiel.comwurde als MX-Eintrag und nicht als A-Eintrag erstellt.

Antwort1

Sie haben Recht, dass Sie für die E-Mail-Zustellung einen MX-Eintrag benötigen. ABER: mail.testsite.com ist ein vollqualifizierter Hostname. Und Sie müssen jedem, der Ihnen E-Mails zustellen möchte, die IP-Adresse dieses Hostnamens mitteilen. Sie benötigen also auch einen A-Eintrag, der auf den Server verweist, auf dem Sie die E-Mails empfangen möchten.

Erstellen Sie einen A-Eintrag, verweisen Sie auf Ihren Mailserver und führen Sie certbot von diesem Computer aus. Stellen Sie sicher, dass ein Webserver auf Port 80 für mail.testsite.com antwortet, damit die Überprüfung erfolgreich ist. Dann wird es funktionieren.

Antwort2

Mach es so:

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

Ein DNS TXT-Eintrag wird gedruckt (klicken Sie einfach nichteingebennoch nicht), veröffentlichen Sie es in Ihrem DNS und warten Sie, bis Sie sicher sind, dass der TXT-Eintrag von außerhalb Ihres DNS gelesen werden kann, und klicken Sie dann aufeingebenund es wird überprüft.

Antwort3

Wenn Ionos Ihr DNS-Anbieter ist und Sie der üblichen Konvention folgen, Ihren Mailserver mail.example.com zu nennen, reicht es nicht aus, einen A-Eintrag „mail“ und einen MX-Eintrag „mail“ zu erstellen. Ihr TXT-Eintrag erfüllt die Anforderungen von certbot nicht.

Sie müssen einSubdomänemit dem Namen „mail“ über die Ionos-Benutzeroberfläche. Anschließend können Sie in der Benutzeroberfläche zu dieser Subdomäne navigieren, Ihren TXT-Eintrag erstellen und ihn „_acme-challenge“ nennen. Dadurch wird ein funktionierender TXT-Eintrag „_acme-challenge.mail.example.com“ erstellt.

Belassen Sie es lieber für zukünftige Abfragen

Für mich sieht es so aus, als ob sich der Wert in der Challenge jedes Mal ändert, wenn Sie certbot ausführen. Sie können den TXT-Eintrag also an Ort und Stelle lassen, müssen ihn aber jedes Mal bearbeiten.

verwandte Informationen