Certbot не работает. Включите Let's Encrypt certbot на новом сервере, который заменит существующий производственный сервер

У меня есть веб-сервер nginx с сертификатом SSL, предоставленным Let's Encrypt с использованием Certbot. Например, этот сайт публично доступен по адресу https://example.com

Новый сервер
Я создаю новый сервер, который заменит существующий сервер, как только все будет правильно настроено и развернуто.

] Я хочу, чтобы он был доступен по адресу https://beta.example.com при настройке, а затем по адресу https://example.com после получения разрешений.

https://beta.example.com может быть доступен сейчас, поскольку никакой другой сервер не обслуживает сайт в этом субдомене, но example.com будет работать только тогда, когда я в конце концов обновлю записи DNS.

Мне нужно очевидно, что существующий веб-сервер будет продолжать работу без каких-либо последствий, пока не будет готов новый сервер.

Как я могу создать SSL-сертификат для нового сервера, чтобы он в конечном итоге вступил во владение?

Проблема с проверкой домена
Когда я запускаю certbot, он пытается получить доступ к https: // example .com как часть проверки, однако она не выполняется, поскольку этот домен указывает на IP-адрес существующего сервера.

Неудачная процедура авторизации. example.com (tls-sni-01): urn: acme: error: tls :: На сервере возникла ошибка TLS во время проверки домена :: удаленная ошибка: tls: сбой рукопожатия

ВАЖНЫЕ ЗАМЕЧАНИЯ:
- Сервер сообщил о следующих ошибках:

Домен: example.com
Тип: tls
Подробная информация: удаленная ошибка: tls: сбой рукопожатия

Чтобы исправить эти ошибки, убедитесь, что ваше доменное имя было введены правильно и DNS A / AAAA записи для этого домена содержат правильный IP-адрес. Кроме того, проверьте, что у вас есть последняя конфигурация TLS, которая позволяет серверу общаться с клиентом Certbot.

Есть ли подходящий процесс для решения этой проблемы, учитывая то, что я пытаюсь сделать?

5
задан 11 December 2017 в 14:38
3 ответа

Попробуйте использовать обратный прокси. Создайте два виртуальных хоста на своем старом сервере, которому принадлежит example.com, и направьте туда beta.example.com. Виртуальный хост с beta.examply.com должен отделять HTTPS и запросы обратного прокси к реальному серверу через HTTP. Оба виртуальных хоста будут использовать один и тот же сертификат. Вся работа Letsencrypt пока будет на более старом сервере.

Когда вы будете готовы, вы копируете сертификат на новый сервер, обновляете DNS и ждете, пока он установится (по крайней мере, в течение DNS TTL секунд). Когда вы видите, что все запросы достигают нового сервера, вы можете либо отменить ситуацию, либо просто переместить данные Letsencrypt и полностью перейти на новый.

8
ответ дан 3 December 2019 в 01:02

Вы не можете использовать beta.example.com для проверки сертификата Letsencrypt для домена example.com .

Вы можете скопировать текущий файлы сертификатов с сервера example.com и поместите их на сервер beta.example.com . Если вы работаете в системе на базе Linux, эти файлы могут находиться в папке / etc / pki / tls / certs / .

3
ответ дан 3 December 2019 в 01:02

В дополнение к другим ответам, которые рекомендуют скопировать сертификат на новый сервер, вы также должны скопировать конфигурацию вашего certbot. Это гарантирует, что ваш процесс обновления продолжит работать должным образом.

Для меня эти файлы находятся в / etc / letsencrypt . Убедитесь, что вы сохранили права доступа к файлам и символические ссылки во время копирования ( rsync -a ).

Также не забудьте настроить cronjobs или все, что вы используете для обновления сертификатов. После переключения на новый сервер вы можете протестировать процесс обновления, используя certbot Renew --dry-run .

2
ответ дан 3 December 2019 в 01:02

Теги

Похожие вопросы