Что именно не так с win-acme и Let’s Encrypt?

Ссылка скопирована
1 ответ

Уже сутки бьюсь.
По вводным: кончился сертификат Let’s Encrypt
По вводным: запустил как всегда win-acme. Запустил запрос на выпуск. Увидел что файл челенджа появился. В лога apache тоже видно что был запрос этого файла (правда почему то адрес локальный стоит)
По вводным: win-acme отвечает - [cab2023.example.ru] {"type":"По вводным: urn:ietf:params:acme:error:unauthorized","detail":...: Invalid response fromCab2023.example.ru
По вводным: well-known/acme-challenge/хххххххххххххххххххххххххххххххххххххххх: 403","status":403,"instance":null}

По вводным: перевел конфиг для nginx поднял его - та ж картина

По вводным: deepseek такой конфиг накропал

ХОСТЬ НА 80 ПОРТУ
По вводным: serverName cab2023.example.ru
По вводным: serverAlias cab2023.example.ru
DocumentRoot "E:/1"

По вводным: # Сначала — разрешаем доступ к ACME
По вводным: alias /.well-known/acme-challenge "E:/1/.well-known/acme-challenge"

Options None
AllowOverride None
Require all granted

По вводным: # Редирект с HTTPS на HTTP (если кто-то обращается по HTTPS)
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Настройки директорий

По вводным: options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted

ХОСТ НА 443 ПОРТУ
По вводным: serverName cab2023.example.ru
По вводным: serverAlias cab2023.example.ru

SSLEngine On
По вводным: sSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

По вводным: # Игнорирование ошибок сертификата (для тестирования)
SSLProxyVerify none
SSLProxyCheckPeerCN off
По вводным: sSLProxyCheckPeerName off
По вводным: sSLProxyCheckPeerExpire off

По вводным: sSLCertificateFile "e:/2/cab2023.example.ru-crt.pem"
По вводным: sSLCertificateKeyFile "e:/2/cab2023.example-key.pem"

По вводным: # Логирование SSL для отладки
LogLevel warn ssl:warn

По вводным: # Редирект ВСЕХ HTTPS запросов на HTTP
RewriteEngine On
RewriteRule ^(.*)$http://cab2023.example.ru$1[R=301,L]

По вводным: # Дополнительный заголовок для отладки
По вводным: header always set X-SSL-Redirect "https-to-http"

Сейчас ситуация такая: редирект с 443 на 80 настроен, так как хотелось хоть как то уйти от NET::ERR_CERT_DATE_INVALID - тоже не сработал редирект)

Что именно с Let’s Encrypt не так?

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Backend-редакция Ответ

С win-acme и Let’s Encrypt чаще всего проблемы не в самом win-acme, а в проверке домена. Let’s Encrypt должен убедиться, что вы контролируете домен: через HTTP-01, DNS-01 или TLS-ALPN-01. Если проверка не проходит, сертификат не выдаётся, даже если программа настроена “почти правильно”.

Для Apache на Windows при HTTP-01 проверьте, что файл challenge доступен извне по адресу:

http://example.ru/.well-known/acme-challenge/test-file

http://example.ru/.well-known/acme-challenge/test-file

Если сайт за Cloudflare, прокси, NAT или редиректами, Let’s Encrypt может видеть не тот сервер. На время диагностики проверьте прямую доступность 80 порта и убедитесь, что challenge не уходит на HTTPS с ошибкой или на другой виртуальный хост.

Типовые причины:

  • порт 80 закрыт firewall/router;
  • Apache не обслуживает .well-known;
  • домен указывает не на этот сервер;
  • редирект на другой домен;
  • Cloudflare/WAF мешает проверке;
  • не тот site binding/vhost;
  • превышены rate limits Let’s Encrypt.

В win-acme смотрите лог, он обычно указывает точный validation URL и ответ сервера. Этот URL нужно открыть извне, не только с самого сервера. Если локально открывается, а снаружи нет — проблема в DNS, NAT или firewall.

Если HTTP-01 неудобен, используйте DNS-01. Он работает даже без открытого 80 порта, но требует добавлять TXT-запись или настроить API DNS-провайдера.

Итог: проверьте доступность challenge URL из интернета. Для Apache убедитесь, что /.well-known/acme-challenge/ не блокируется и попадает в нужный vhost. Win-acme обычно делает всё правильно, если домен и validation path доступны снаружи.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно