Что именно не так с win-acme и Let’s Encrypt?
Уже сутки бьюсь.
По вводным: кончился сертификат 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 не так?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
С 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
Если сайт за Cloudflare, прокси, NAT или редиректами, Let’s Encrypt может видеть не тот сервер. На время диагностики проверьте прямую доступность 80 порта и убедитесь, что challenge не уходит на HTTPS с ошибкой или на другой виртуальный хост.
Типовые причины:
.well-known;В 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 доступны снаружи.