Назад | Перейти на главную страницу

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

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

Сервер работает ubuntu 16.04, и nginx веб сервер. Ниже nginx config:

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

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

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

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

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

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

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

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