Ошибка при установке LetsEncrypt SSL: (http-01): urn: acme: error: connection :: Серверу не удалось подключиться к клиенту для проверки домена

Я пытаюсь установить LetsEncrypt на свой сервер (к которому у меня есть root-доступ по SSH) для staging.dnslaude.com - то есть общедоступный домен, указывающий на 213.212.81.89 .

На сервере работает ubuntu 16.04 и веб-сервер nginx . Ниже приведена конфигурация nginx :

server {
  listen 80;
  server_name staging.dnslaude.com;

  root /path/to/webroot;

  location ^~ /.well-known/acme-challenge/ {
    try_files $uri $uri/ =404;
  }
  rewrite ^(.*) https://$host$1 permanent;
}

server {
  listen 443;
  ssl on;
  ssl_certificate /path/to/self/signed/certificate.crt;
  ssl_certificate_key /path/to/key.key;

  server_name staging.dnslaude.com;

  root /path/to/webroot;

  # ....

  location ^~ /.well-known/acme-challenge/ {
    try_files $uri $uri/ =404;
  }
}

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

Однако, когда я запускаю команду:

letsencrypt certonly --webroot -w /path/to/webroot -d staging.dnslaude.com

, она возвращает следующую ошибку:

Ошибка авторизации. staging.dnslaude.com (http-01): urn: acme: error: connection :: Серверу не удалось подключиться к клиент для проверки домена :: Не удалось подключиться к staging.dnslaude.com

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

Домен: staging.dnslaude.com Тип: сведения о соединении: Возможно не подключаться к staging.dnslaude.com

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

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

Есть предложения?

3
задан 16 January 2017 в 17:50
3 ответа

Конфигурация nginx выглядит правильно.

Подозрительно я запустил nmap для вашего домена (поскольку вы включили его в свой вопрос); Похоже, что вы в настоящее время фильтруете порт 80, поэтому LetsEncrypt не может подключиться извне и проверить.

Вам необходимо убедиться, что порт 80 открыт для внешнего доступа на локальном брандмауэре рассматриваемого сервера (а также для любых списков контроля доступа, которые могут быть на месте у провайдера виртуального хоста или аналогичного).

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

Эта ошибка также может возникнуть, если вы перенаправляете запрос http-01 с http на https. Каталог .well-known / acme-challenge должен быть доступен через http на порт 80.

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

Они намеренно запутывают. У меня была та же ошибка 400, и я снова начал копаться в кроличьей норе с обновлением. Раньше были разные ошибки. Решение: удалите предыдущие сертификаты из SSL бесплатно и удалите просроченный сертификат с сервера. (Хотя сертификат с истекшим сроком действия все еще настроен и активен, вы никогда не получите новый) jar2

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

Теги

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