nginx-使用certbot应用“加密证书:授权过程失败”
作者:互联网
我正在使用certbot申请“让我们加密”证书,
我的服务器是centos 7.2和nginx 1.11.9.
下面是什么意思?
[root@test ~]# certbot certonly --webroot -w /var/www/www.example.com -d example.com -d www.example.com
Failed authorization procedure. example.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://example.com/.well-known/acme-ch
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>", www.example.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.example.com/.well-known/acme-challenge/k
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
IMPORTANT NOTES:
- If you lose your account credentials, you can recover through
e-mails sent to example@example.com.
- The following errors were reported by the server:
Domain: example.com
Type: unauthorized
Detail: Invalid response from
http://example.com/.well-known/acme-challenge/wGNv57IGJjHQ9wyzzALktpNaPzfnTtN3m7u3QuO4p40:
"<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
Domain: www.example.com
Type: unauthorized
Detail: Invalid response from
http://www.example.com/.well-known/acme-challenge/kFJ0CSuKOdgcT2xmciB4GGNCcnUPoIbpQmA9jOII_Bk:
"<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>"
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address.
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
我可以访问example.com和www.example.com,并且在文档中有一条注释:https://certbot.eff.org/#centosrhel7-nginx
Note:
To use the webroot plugin, your server must be configured to serve files from hidden directories. If /.well-known is treated specially by your webserver configuration, you might need to modify the configuration to ensure that files inside /.well-known/acme-challenge are served by the webserver.
那是原因吗?
如何修改配置?
解决方法:
这是一个非常普遍的问题,但是幸运的是应该很容易解决.让我们加密必须能够从.well-known目录读取,以验证您的服务器是否实际托管了您想要证书的域.
首先,请确保您在网站根目录中有一个.well-known目录.设置您的权限,以便从外部可以读取它; 775应该是完美的.
然后,将此片段添加到Nginx中的虚拟主机文件中:
location ~ /.well-known {
allow all;
}
这将允许对我们刚刚创建的.well-known目录的任何请求.现在,尝试再次请求证书,看看它是否有效.
标签:nginx,https,lets-encrypt 来源: https://codeday.me/bug/20191026/1934989.html