
У меня есть сервер, который поддерживает HTTPS, используя сертификат certbot/letsencrypt.
Я делаю общее обновление программного обеспечения, поэтому, чтобы минимизировать риски и время простоя, я устанавливаю новые релизы на новый сервер, на который я импортирую данные реального сервера для тестов. Когда все заработает, я изменю запись DNS, чтобы она указывала на новый сервер.
Мой вопрос: что мне делать с сертификатом? Могу ли я просто скопировать существующий и позволить ему обновляться по мере необходимости? Или сертификат будет несовместимым и/или LE будет жаловаться, что адрес изменился во время процесса автоматического обновления? Будет ли LE чувствителен к обратному DNS (может потребоваться больше времени для работы обратного DNS). Есть ли еще какие-то проблемы, о которых я не подумал?
решение1
По умолчанию Certbot/Letsencrypt хранит свои файлы конфигурации и сгенерированные сертификаты в /etc/letsencrypt
. Так что вам просто нужно установить Certbot на новый сервер и скопировать каталог со старого. Конечно, вам придется настроить веб-сервер (Apache, Nginx, что бы вы ни использовали), указав сертификаты на новом сервере.
решение2
Вы можете скопировать сертификат, и он будет работать. Возможно, настройте текущий сервер как обратный прокси-сервер для другого сервера, и все будет в порядке, пока вы не сделаете последний шаг. Надеюсь, я смог помочь :)
решение3
Для тех из вас, кто переходит с одного сервера на другой, где уже есть Let's encrypt certbot, я могу поделиться своим недавним опытом.
Сначала я обновил конфигурацию NginX на новом сервере, где я создал новый server
блок с конфигурацией со старого сервера. Но я изменил ssl_certificate
и ssl_certificate_key
путь, чтобы они соответствовали существующим путям.
Затем я изменил записи DNS, из-за чего мой сервер на короткое время вернул недействительный сертификат!
Наконец, я запустил:
certbot --nginx
Который создал новый сертификат для существующего + нового домена.
Общее время простоя составило менее 1 минуты.