Хозяин:Цифровой Океан
ОПЕРАЦИОННЫЕ СИСТЕМЫ: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 на месте, но вам придется редактировать ее каждый раз.