Как мне достичь Caddy auto-TLS через Let's Encrypt без DNS?
Я уверен, что это типичный сценарий, но я не могу найти соответствующую последовательность шагов.
У меня есть сервер www.example.com на (скажем) 1.1.1.1 под управлением Apache. Я строю новый сервер в 2.2.2.2, используя Caddy. Для тестирования я поставил 2.2.2.2 www.example.com
в моем локальном / etc / hosts. Как только все заработает, я переписываю запись DNS www.example.com в Caddy.
Проблема в том, что я не могу запустить Caddy на 2.2.2.2 для обслуживания www.example.com.
я получил
[www.example.com] failed to get certificate: acme: Error 403 - urn:acme:error:unauthorized - Invalid response from http://www.example.com/.well-known/acme-challenge/6Xc4_oq6r0de25CtrYIw59YeVHvUWQ9Ag6H3XbGx8y0:
Я предполагаю, что причиной является запись DNS для www.example.com, указывающая на 1.1.1.1, а не на 2.2.2.2.
Итак, как мне получить сертификаты и запустить Caddy, чтобы я мог проверить www.example.com на 2.2.2.2 перед обновлением общедоступной записи DNS?
2 ответа
Создайте новое имя для тестового сервера, например
test.example.com
,Укажите запись DNS A для
test.example.com
на тот же адрес, что и дляwww.example.com
,Получите сертификат Let's Encrypt, содержащий оба имени. Let's Encrypt позволяет вам указать, сколько имен вы хотите в сертификате.
Получив сертификат, укажите новую запись DNS A для тестового сервера. Теперь вы можете использовать один и тот же сертификат как на рабочем сервере, так и на тестовом сервере.
Во-первых, вам действительно следует использовать только частные IP-адреса для тестовых / пробных сайтов. Вы можете использовать любой из следующих
- 10.xxx
- 192.168.xx
- (есть еще несколько)
так вместо
2.2.2.2 myexamplesite.com
использование
10.2.2.2 myexamplesite.com
Кроме того, и это отвечает на ваш вопрос, использование CLS Caddy позволяет шифровать работает только тогда, когда сайт letencrypt может получить доступ к вашему сайту через общедоступный IP-адрес, доступный с DNS-сервера, который вы не контролируете. Это в целях безопасности.
Вы можете создать самозаверяющий сертификат и использовать его, но я боюсь, что автоматический TLS с caddy не возможен так, как вы хотите.