У меня два (виртуальных) хоста работают за брандмауэром. Один - это веб-сервер, другой - почтовый сервер. Соответствующие порты моего единственного общедоступного IPv4-адреса перенаправляются на брандмауэр на хосты.
Теперь я хочу автоматически получать сертификаты letsencrypt для обоих хостов (для доменов www.my.foo и mail.my.foo). Проблема в том, что почтовый сервер недоступен через порт 80 или 443 (поскольку они перенаправляются на веб-сервер), и я не могу автоматически обновлять свои настройки DNS через некоторый API.
Есть ли уловка в протоколе ACME для получения сертификата на почтовом сервере без ручного вмешательства?
Если два сервера находятся в одной локальной сети и видят друг друга, вы можете
certbot certonly --standalone
.Использование отдельного виртуального хоста для обратного прокси-сервера может упростить вам использование /.well-known/acme-challenge/
дважды, если вы не возражаете, что у почтового сервера другое имя хоста.
Если вы хотите использовать один и тот же сертификат для обеих целей, вы можете просто rsync
это между серверами, например. с cronjob.