我正在尝试设置我的Nginx和django以便能够续订证书.
但是我的webroot-plugin出了问题
在Nginx中:
location ~ /.well-known {
allow all;
}
但是当我运行续订命令时:
./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/home/sult/huppels -d huppels.nl -d www.huppels.nl
但是,似乎证书续订想要从我的服务器检索文件,因为我收到以下错误.
服务器报告了以下错误:
授权程序失败. www.huppels.nl(http-01):urn:acme:error:unauthorized ::客户端缺乏足够的授权:: http://www.huppels.nl/.well-known/acme-challenge/some_long_hash [51.254.101.239]的响应无效:400
如何使用Nginx或django实现这一目标?
我有我的Django应用程序与gunicorn运行.我按照说明here.
我确保包含正确的位置块:
location /static {
alias /home/user/webapp;
}
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
确保包含任何模板位置别名.
我像这样设置了.well已知的位置块;
location /.well-known {
alias /home/user/webapp/.well-known;
}
指向它直接执行webapp的根,而不是使用allow all.
我确实必须确保在生成证书之前我只使用了非ssl块然后我使用了基于h5bps Nginx配置的不同的Nginx配置.
注意:如果您要使用h5bp重定向到www,请确保您的域名指向适当的A记录.