Certbot не создает папку acme-challenge
Я работал давайте зашифруем сертификаты несколько месяцев назад (со старым клиентом letsencrypt). Сервер, который я использую, - nginx.
https://over.wiki/certbot/" class="blnk">Certbot создает .хорошо известная папка, но не папка acme-challenge
теперь я попытался создать новые сертификаты через ~/certbot-auto certonly --webroot -w /var/www/webroot -d domain.com -d www.domain.com -d git.domain.com
но я всегда получаю ошибки такой:
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: git.domain.com
Type: unauthorized
Detail: Invalid response from
http://git.domain.com/.well-known/acme-challenge/ZLsZwCsBU5LQn6mnzDBaD6MHHlhV3FP7ozenxaw4fow:
"<.!DOCTYPE html>
<.html lang='en'>
<.head prefix='og: http://ogp.me/ns#'>
<.meta charset='utf-8'>
<.meta content='IE=edge' http-equiv"
Domain: www.domain.com
Type: unauthorized
Detail: Invalid response from
http://www.domain.com/.well-known/acme-challenge/7vHwDXstyiY0wgECcR5zuS2jE57m8I3utszEkwj_mWw:
"<.html>
<.head><.title>404 Not Found</title></head>
<.body bgcolor="white">
<.center><.h1>404 Not Found</h1></center>
(конечно, точек внутри тегов HTML на самом деле нет)
Я искал решение, но пока не нашел. Кто-нибудь знает, почему certbot не создает папки?
спасибо заранее!
3 ответов
проблема заключалась в конфигурации nginx. Я заменил свои длинные конфигурационные файлы простейшей конфигурацией:
server {
listen 80;
server_name domain.com www.domain.com git.domain.com;
root /var/www/domain/;
}
затем я смог выдать новые сертификаты.
проблема с моими длинными файлами конфигурации была (насколько я могу судить) , что у меня были эти строки:
location ~ /.well-known {
allow all;
}
но они должны быть:
location ~ /.well-known/acme-challenge/ {
allow all;
}
Теперь обновление тоже работает.
У меня была аналогичная проблема. Моя проблема заключалась в том, что у меня было такое правило:
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
эти строки, где отмена каждого доступа к любому каталогу, начинающемуся с"."(точка)
У меня была глупая проблема - при запуске команды certbot у меня был атрибут webroot, указывающий на корневой каталог моего репозитория, а не на общедоступный.