Certbot 没有创建 acme-challenge 文件夹
Certbot not creating acme-challenge folder
我几个月前就开始使用 Let's encrypt certificates(使用旧的 letsencrypt 客户端)。
我使用的服务器是nginx。
Certbot 正在创建 .well-known 文件夹,而不是 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 不创建文件夹吗?
提前致谢!
问题出在 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 脚本以某种方式发生了变化),我无法以任何方式续订证书。经过将近 4 小时的研究,我发现这个帖子终于对我有所帮助:
https://community.letsencrypt.org/t/solved-invalid-response-403-forbidden/64170/13
希望对其他人有所帮助。
诀窍是在 apache 配置中添加:
DocumentRoot /var/lib/letsencrypt/http_challenges
<Directory /var/lib/letsencrypt/http_challenges>
Allow from All
</Directory>
希望它对其他人有用!
我几个月前就开始使用 Let's encrypt certificates(使用旧的 letsencrypt 客户端)。 我使用的服务器是nginx。
Certbot 正在创建 .well-known 文件夹,而不是 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 不创建文件夹吗?
提前致谢!
问题出在 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 脚本以某种方式发生了变化),我无法以任何方式续订证书。经过将近 4 小时的研究,我发现这个帖子终于对我有所帮助:
https://community.letsencrypt.org/t/solved-invalid-response-403-forbidden/64170/13
希望对其他人有所帮助。
诀窍是在 apache 配置中添加:
DocumentRoot /var/lib/letsencrypt/http_challenges
<Directory /var/lib/letsencrypt/http_challenges>
Allow from All
</Directory>
希望它对其他人有用!