Задать вопрос
localnet
@localnet

Как с помощью Letsencrypt и Nginx получить сертификат — один домен с двумя IP адресами?

Есть две A-записи в DNS на example.myapp.com, например, 1.1.1.1 и 2.2.2.2 (то есть балансировка через DNS). К DNS-серверу доступа нет.

Как на обоих серверах получить сертификат для example.myapp.com через letsencrypt? То есть, при вызове на хосте 1.1.1.1:
letsencrypt certonly -a webroot -w /var/www/acme -d example.myapp.com
благодаря балансировке DNS у нас проверяющий бот от letsencrypt может рандомно попасть как на 1.1.1.1, так и на 2.2.2.2, и будет ошибка.

Какие способы решения есть? Я нагуглил про схему с редиректом на одной ноде на другу при обращении на location /.well-known:

return 301 http://node2.myapp.com$request_uri;

чтобы типа бот letsencrypt всегда попадал на вторую ноду для проверки. Я сделал так и у меня ничего не получилось, да и я не пойму логики: ну вот средиректится он на второй хост, а дальше то что? как он создаст там временный файл в /.well-known/acme-challenge/<token> для подтверждения права владения сервером? Так бы получилось если у letsencrypt была возможность не генерировать случайный файл, а использовать какой-нибудь статический файл для подтверждения, который я положу и он проверит на второй ноде, но такого я что-то не нашел, либо плохо смотрел.
  • Вопрос задан
  • 750 просмотров
Подписаться 2 Простой 1 комментарий
Ответ пользователя ky0 К ответам на вопрос (5)
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
У Let`s Encrypt существует способ подтверждения и не связанный с раскладыванием файликов - например, с помощью TXT-записей. В вашем случае, на мой взгляд, это наиболее подходящий вариант.
Ответ написан