Как с помощью letsencrypt и certbot добавить почтовый сервер к существующему сертификату?

Как с помощью letsencrypt и certbot добавить почтовый сервер к существующему сертификату?

Хозяин:Цифровой Океан

ОПЕРАЦИОННЫЕ СИСТЕМЫ:CentOS

У меня есть действующий 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и считаю, что мне нужно добавитьmail.example.comк моему сертификату.

Я пытался добавитьmail.example.comк моему сертификату с помощью этой команды,

$ 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 пытается установитьmail.example.comс использованием записи A. В Digital Ocean в разделе «Записи домена»mail.example.comбыла создана как запись MX, а не как запись A.

решение1

Вы правы, для доставки почты вам нужна запись MX-. НО: mail.testsite.com — это полностью определенное имя хоста. И вам нужно сообщить всем, кто хочет доставлять вам почту, какой IP-адрес у этого имени хоста. Поэтому вам нужна также запись A, указывающая на сервер, на котором вы хотите получать почту.

Создайте запись a и укажите на свой почтовый сервер и запустите certbot с этой машины. Убедитесь, что веб-сервер отвечает на порт 80 для mail.testsite.com, чтобы проверка прошла успешно. Тогда это сработает.

решение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.

Вы должны создатьподдоменназывается "mail" с помощью пользовательского интерфейса Ionos. Затем вы можете перейти к этому поддомену в пользовательском интерфейсе, создать свою запись TXT и назвать ее "_acme-challenge". Это создает рабочую запись TXT "_acme-challenge.mail.example.com".

лучше оставить это для будущих запросов

Мне кажется, что значение в вызове меняется каждый раз, когда вы запускаете certbot. Так что вы можете оставить запись TXT на месте, но вам придется редактировать ее каждый раз.

Связанный контент