letsencrypt と certbot を使用して、既存の証明書にメール サーバーを追加するにはどうすればよいですか?

letsencrypt と certbot を使用して、既存の証明書にメール サーバーを追加するにはどうすればよいですか?

ホスト:デジタルオーシャン

OS:セントOS

私のドメインをカバーする既存の SSL 証明書があります。

$ certbot certificatesこの出力を生成します。

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

インストールしましたpostfixが、追加する必要があると思いますメール私の証明書に。

追加してみましたメールこのコマンドを使用して証明書に

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

残念ながらこのエラーが発生しました。

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

certbotがインストールしようとしているようですメールAレコードを使用しています。Digital OceanのドメインレコードセクションメールA レコードではなく MX レコードとして作成されました。

答え1

メール配信には MX エントリが必要であることは正しいです。ただし、mail.testsite.com は完全修飾ホスト名です。また、メールを配信したいすべての人に、このホスト名の IP アドレスを通知する必要があります。したがって、メールを受信するサーバーを指す A レコードも必要です。

レコードを作成し、メール サーバーを指定して、そのマシンから certbot を実行します。検証が成功するには、Web サーバーが mail.testsite.com のポート 80 で応答していることを確認してください。これで動作します。

答え2

次のようにします:

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

DNS TXTレコードが印刷されます(クリックしないでください)入力まだの場合は、DNSに公開し、TXTレコードがDNSの外部から読み取れることが確認できるまで待ってから、入力そして検証されます。

答え3

Ionos が DNS プロバイダーであり、メール サーバーを mail.example.com と呼ぶ一般的な規則に従っている場合、A レコード「mail」と MX レコード「mail」を作成するだけでは不十分です。TXT レコードは certbot の要件を満たしていません。

作成する必要がありますサブドメインIonos UI を使用して「mail」というサブドメインを作成します。次に、UI でそのサブドメインに移動し、TXT レコードを作成して「_acme-challenge」という名前を付けます。これにより、機能する「_acme-challenge.mail.example.com」TXT レコードが生成されます。

将来の問い合わせのために残しておいた方が良い

チャレンジの値は、certbot を実行するたびに変わるように見えます。したがって、TXT レコードをそのまま残しておくことはできますが、毎回編集する必要があります。

関連情報