leh*_*ian 20 https nginx lets-encrypt certbot
几个月前我曾经工作过Let's加密证书(使用旧的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>
Run Code Online (Sandbox Code Playgroud)
(当然HTML标签内的点不是真的存在)
我找了一个解决方案,但还没找到.有谁知道为什么certbot没有创建文件夹?
提前致谢!
leh*_*ian 12
问题是nginx配置.我用最简单的配置替换了我的长配置文件:
server {
listen 80;
server_name domain.com www.domain.com git.domain.com;
root /var/www/domain/;
}
Run Code Online (Sandbox Code Playgroud)
然后我就能发行新证书了.
我的长配置文件的问题是(据我所知)我有这些行:
location ~ /.well-known {
allow all;
}
Run Code Online (Sandbox Code Playgroud)
但它们应该是:
location ~ /.well-known/acme-challenge/ {
allow all;
}
Run Code Online (Sandbox Code Playgroud)
现在续约也有效.
我有一个类似的问题。我的问题是,我有这个规则:
location ~ /\. {
access_log off;
log_not_found off;
deny all;
}
Run Code Online (Sandbox Code Playgroud)
这些行取消对以“.”开头的任何目录的每次访问。(观点)
| 归档时间: |
|
| 查看次数: |
12227 次 |
| 最近记录: |