Назад | Перейти на главную страницу

Получение сертификата letsencrypt для почтового сервера

У меня два (виртуальных) хоста работают за брандмауэром. Один - это веб-сервер, другой - почтовый сервер. Соответствующие порты моего единственного общедоступного IPv4-адреса перенаправляются на брандмауэр на хосты.

Теперь я хочу автоматически получать сертификаты letsencrypt для обоих хостов (для доменов www.my.foo и mail.my.foo). Проблема в том, что почтовый сервер недоступен через порт 80 или 443 (поскольку они перенаправляются на веб-сервер), и я не могу автоматически обновлять свои настройки DNS через некоторый API.

Есть ли уловка в протоколе ACME для получения сертификата на почтовом сервере без ручного вмешательства?

Если два сервера находятся в одной локальной сети и видят друг друга, вы можете

  1. Установите веб-сервер на почтовый сервер (или используйте certbot certonly --standalone.
  2. Настроить обратный прокси на веб-сервере, выходящем в Интернет.

Использование отдельного виртуального хоста для обратного прокси-сервера может упростить вам использование /.well-known/acme-challenge/ дважды, если вы не возражаете, что у почтового сервера другое имя хоста.

Если вы хотите использовать один и тот же сертификат для обеих целей, вы можете просто rsync это между серверами, например. с cronjob.