Как мне достичь 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 ответа

Решение
  1. Создайте новое имя для тестового сервера, например test.example.com,

  2. Укажите запись DNS A для test.example.com на тот же адрес, что и для www.example.com,

  3. Получите сертификат Let's Encrypt, содержащий оба имени. Let's Encrypt позволяет вам указать, сколько имен вы хотите в сертификате.

  4. Получив сертификат, укажите новую запись 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 не возможен так, как вы хотите.

Другие вопросы по тегам