公众号封面图_如何p图_在线长图文制作_图片修改文字软件_抠图软件哪个好用
当前位置:建站首页 > 新闻资讯 > 常见问题 >

lnmp1.5应用Let'sEncrypt建立SSL资格证书全自动续签难

发表日期:2021-04-04 13:02文章编辑:jianzhan浏览次数: 标签:    

Author:飘易 Source:飘易
Categories:电脑上技术性 PostTime::36

飘易有一台网络服务器安裝了LNMP 1.5的运作自然环境,随后建立虚似服务器VHOST的情况下,应用了Let sEncrypt建立了完全免费的SSL资格证书,这一资格证书是彻底完全免费的,可是有3个月的限定,寓意着3个月后就必须续签,好运的是LNMP早已全自动给我们加上了一个方案每日任务,用以Let sEncrypt SSL完全免费资格证书的全自动续签。


LNMP 出示了一个 ACME.SH 脚本制作,便捷大家实行SSL续签。


查询cron方案每日任务:

crontab -l
52 0 * * *  /usr/local/acme.sh /acme.sh --cron --home  /usr/local/acme.sh    /dev/null

这一全自动续签的脚本制作 acme.sh 会每日全自动运作一次。


可是飘高发目前好多个网站域名的SSL资格证书期满了以后,并沒有全自动续签取得成功。因此手动式实行下列这一脚本制作:

 /usr/local/acme.sh /acme.sh --cron --home  /usr/local/acme.sh 

发觉出错以下:

[Fri Jan 17 14:16:21 CST 2020] Renew:   
[Fri Jan 17 14:16:24 CST 2020] Single domain=  
[Fri Jan 17 14:16:24 CST 2020] Getting domain auth token for each domain
[Fri Jan 17 14:16:24 CST 2020] Getting webroot for domain=  
[Fri Jan 17 14:16:24 CST 2020] Getting new-authz for domain=  
[Fri Jan 17 14:16:27 CST 2020] The new-authz request is ok.
[Fri Jan 17 14:16:27 CST 2020] Verifying:
[Fri Jan 17 14:16:31 CST 2020] :Verify error:Invalid response from .well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw: 
[Fri Jan 17 14:16:31 CST 2020] Please check log file for more details: /usr/local/acme.sh/acme.sh.log
[Fri Jan 17 14:16:32 CST 2020] Error renew .

从这一不正确看来,能看到SSL必须认证网站域名下的这一文档:

/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw

随后,再查询系统日志:

[Fri Jan 17 14:16:27 CST 2020] _currentRoot= /storage/wwwroot/ 
[Fri Jan 17 14:16:27 CST 2020] wellknown_path= /storage/wwwroot//.well-known/acme-challenge 
[Fri Jan 17 14:16:27 CST 2020] writing token:JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw to /storage/wwwroot//.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw
[Fri Jan 17 14:16:27 CST 2020] Changing owner/group of .well-known to www:www
......
[Fri Jan 17 14:16:31 CST 2020] :Verify error:Invalid response from .well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw:

能看到Let sEncrypt ACME.sh 这一脚本制作在写认证文档时,写错相对路径了:

/storage/wwwroot//.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw

这一相对路径恰当的应当是

/storage/wwwroot//public/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw


留意,恰当的相对路径是正中间多了一个 public 文件目录。为何是那样?

由于这一新项目是一个 Laravel 新项目,而 Laravel 新项目默认设置的对外开放的文件目录便是 public 文件目录,而我还在建立虚似服务器的情况下,应用的是网站根目录,建立好服务器以后,手工制作去改动了 nginx 的配备文档,把 

root  /storage/wwwroot/; 

改动为 

root  /storage/wwwroot//public;


这就造成 Let sEncrypt 纪录的初始相对路径不是带 public 的相对路径,要处理这一难题,便是把SSL的配备文档里的相对路径也改为有 public 文件目录的便可以了:

lnmp或lnmpa 得话 /usr/local/nginx/conf/ssl/网站域名/网站域名.conf 
lamp得话 /usr/local/apache/conf/ssl/网站域名/网站域名.conf


Le_Webroot= /storage/wwwroot/

改动为

Le_Webroot= /storage/wwwroot//public


再次实行acme脚本制作:

 /usr/local/acme.sh /acme.sh --cron --home  /usr/local/acme.sh 

回到:

[Fri Jan 17 14:36:05 CST 2020] Renew:   
[Fri Jan 17 14:36:06 CST 2020] Single domain=  
[Fri Jan 17 14:36:06 CST 2020] Getting domain auth token for each domain
[Fri Jan 17 14:36:06 CST 2020] Getting webroot for domain=  
[Fri Jan 17 14:36:06 CST 2020] Getting new-authz for domain=  
[Fri Jan 17 14:36:10 CST 2020] The new-authz request is ok.
[Fri Jan 17 14:36:10 CST 2020] Verifying:
[Fri Jan 17 14:36:14 CST 2020]&ess
[Fri Jan 17 14:36:14 CST 2020] Verify finished, start to sign.
[Fri Jan 17 14:36:15 CST 2020] Cert&ess.
[Fri Jan 17 14:36:15 CST 2020] Your cert is in /usr/local/nginx/conf/ssl//.cer 
[Fri Jan 17 14:36:15 CST 2020] Your cert key is in /usr/local/nginx/conf/ssl//.key 
[Fri Jan 17 14:36:16 CST 2020] The intermediate CA cert is in /usr/local/nginx/conf/ssl//ca.cer 
[Fri Jan 17 14:36:16 CST 2020] And the full chain certs is there: /usr/local/nginx/conf/ssl//fullchain.cer 
[Fri Jan 17 14:36:16 CST 2020] Run reload cmd: /etc/init.d/nginx reload
Reload service nginx... done
[Fri Jan 17 14:36:16 CST 2020] Reload&ess

SSL 续签取得成功!

而且之后再到期的情况下,CRON方案每日任务也会全自动续签了。



【别的难题】

1、假如以前在nginx的配备文档里开启了 http 强制性自动跳转到 https 的配备,这一地区也会续签不成功,必须临时性先将这一段配备注解掉:

 # http跳转301自动跳转https
 #if ($server_port !~ 443){
 # rewrite ^(.*)$ pre>

缘故非常简单,如今https早已到期了,再强制性自动跳转到https去认证下边的文档,自然不是取得成功的。


2、假如给你PC站和移动站全自动自动跳转兼容过,也必须留意临时性撤销全自动自动跳转,例如 手机端的配备:

 # PC顾客端自动跳转
 if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
 #rewrite ^(.*) pre>

不然认证文档会自动跳转到相匹配的PC端相对路径下来拉取,这一自然是不正确的。


3、頻率限定不正确

new-authz error: { type : urn:acme:error:rateLimited , detail : Error creating new authz :: too many failed authorizations recently: see docs/rate-limits/ , status : 429}

这一是表明开启了SSL验证的頻率限定了,现阶段有一个限定是:每一个帐户每钟头每网站域名有数最多认证不成功 5 次的限定。大家略微等一会就行了。有关这一頻率限定,实际参照:

docs/rate-limits/



相关新闻

sae应用smarty模版的方式

sae应用smarty模版的方式公布:smiling 来源于: PHP粉絲网 加上 访问: 评价:0 Smarty是是非非常时兴...

日期:2021-04-03 浏览次数:195

越来越越大的网站应用https停止使用http,http和

http和https是访问器和网站测试器中间的一种承诺,承诺怎样将网站测试器中的信息内容免费下...

日期:2021-03-20 浏览次数:190

淘宝网美工设计实例教程怎样应用ps手机软件对产

...

日期:2021-03-05 浏览次数:63

隐私保护现行政策

留意:应用本站前请您细心阅读文章下列条文。应用本站则说明您己知晓并接纳这种条文。如...

日期:2021-03-04 浏览次数:113

创建微生物高新科技企业网站应应用哪样模版?

应用网站模版创建1个微生物高新科技类的企业公司网站,自然必须合适微生物高新科技类的网...

日期:2021-02-28 浏览次数:141

应用线上专用工具制做GIF照片的两种方式

在闲聊的情况下,常常会应用照片来表述自身情绪或心态,更为的形象生动,例如群聊的情况...

日期:2021-02-27 浏览次数:141