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

Ошибка установки 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, вам также следует проверить
, что вы обслуживаете файлы из указанного вами пути webroot.

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

Какие-либо предложения?

решение1

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

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

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

решение2

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

решение3

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

Связанный контент