lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题

飘易有一台服务器安装了LNMP 1.5的运行环境,然后创建虚拟主机VHOST的时候,使用了Let'sEncrypt创建了免费的SSL证书,这个证书是完全免费的,但是有3个月的限制,意味着3个月后就需要续期,幸运的是LNMP已经自动帮我们添加了一个计划任务,用于Let'sEncrypt SSL免费证书的自动续期。

胶州网站建设公司创新互联建站,胶州网站设计制作,有大型网站制作公司丰富经验。已为胶州上千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的胶州做网站的公司定做!

LNMP 提供了一个 ACME.SH 脚本,方便我们执行SSL续期。


查看cron计划任务:成都服务器托管

crontab-l520***"/usr/local/acme.sh"/acme.sh--cron--home"/usr/local/acme.sh">/dev/null

这个自动续期的脚本 acme.sh 会每天自动运行一次。


但是飘易发现有几个域名的SSL证书到期了之后,并没有自动续期成功。于是手动执行以下这个脚本:成都服务器托管

[FriJan1714:16:21CST2020]Renew:'dongfang.piaoyi.org'[FriJan1714:16:24CST2020]Singledomain='dongfang.piaoyi.org'[FriJan1714:16:24CST2020]Gettingdomainauthtokenforeachdomain[FriJan1714:16:24CST2020]Gettingwebrootfordomain='dongfang.piaoyi.org'[FriJan1714:16:24CST2020]Gettingnew-authzfordomain='dongfang.piaoyi.org'[FriJan1714:16:27CST2020]Thenew-authzrequestisok.[FriJan1714:16:27CST2020]Verifying:dongfang.piaoyi.org[FriJan1714:16:31CST2020]dongfang.piaoyi.org:Verifyerror:Invalidresponsefromhttp://dongfang.piaoyi.org/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw:[FriJan1714:16:31CST2020]Pleasechecklogfileformoredetails:/usr/local/acme.sh/acme.sh.log[FriJan1714:16:32CST2020]Errorrenewdongfang.piaoyi.org.

从这个错误来看,可以看到SSL需要验证域名下的这个文件:成都服务器托管

[FriJan1714:16:27CST2020]_currentRoot='/storage/wwwroot/dongfang.piaoyi.org'[FriJan1714:16:27CST2020]wellknown_path='/storage/wwwroot/dongfang.piaoyi.org/.well-known/acme-challenge'[FriJan1714:16:27CST2020]writingtoken:JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puwto/storage/wwwroot/dongfang.piaoyi.org/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw[FriJan1714:16:27CST2020]Changingowner/groupof.well-knowntowww:www......[FriJan1714:16:31CST2020]dongfang.piaoyi.org:Verifyerror:Invalidresponsefromhttp://dongfang.piaoyi.org/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw:

可以看到Let'sEncrypt ACME.sh 这个脚本在写验证文件时,写错路径了:成都服务器托管

lnmp或lnmpa的话/usr/local/nginx/conf/ssl/域名/域名.conflamp的话/usr/local/apache/conf/ssl/域名/域名.conf

Le_Webroot='/storage/wwwroot/dongfang.piaoyi.org'

修改为

Le_Webroot='/storage/wwwroot/dongfang.piaoyi.org/public'


重新执行acme脚本:成都服务器托管

[FriJan1714:36:05CST2020]Renew:'dongfang.piaoyi.org'[FriJan1714:36:06CST2020]Singledomain='dongfang.piaoyi.org'[FriJan1714:36:06CST2020]Gettingdomainauthtokenforeachdomain[FriJan1714:36:06CST2020]Gettingwebrootfordomain='dongfang.piaoyi.org'[FriJan1714:36:06CST2020]Gettingnew-authzfordomain='dongfang.piaoyi.org'[FriJan1714:36:10CST2020]Thenew-authzrequestisok.[FriJan1714:36:10CST2020]Verifying:dongfang.piaoyi.org[FriJan1714:36:14CST2020]Success[FriJan1714:36:14CST2020]Verifyfinished,starttosign.[FriJan1714:36:15CST2020]Certsuccess.[FriJan1714:36:15CST2020]Yourcertisin/usr/local/nginx/conf/ssl/dongfang.piaoyi.org/dongfang.piaoyi.org.cer[FriJan1714:36:15CST2020]Yourcertkeyisin/usr/local/nginx/conf/ssl/dongfang.piaoyi.org/dongfang.piaoyi.org.key[FriJan1714:36:16CST2020]TheintermediateCAcertisin/usr/local/nginx/conf/ssl/dongfang.piaoyi.org/ca.cer[FriJan1714:36:16CST2020]Andthefullchaincertsisthere:/usr/local/nginx/conf/ssl/dongfang.piaoyi.org/fullchain.cer[FriJan1714:36:16CST2020]Runreloadcmd:/etc/init.d/nginxreloadReloadservicenginx...done[FriJan1714:36:16CST2020]Reloadsuccess

SSL 续期成功!成都小程序开发公司

并且以后再过期的时候,CRON计划任务也会自动续期了。成都网站建设公司


【其他问题】

1、如果之前在nginx的配置文件里启用了 http 强制跳转到 https 的配置,这个地方也会续期失败,需要临时先将这段配置注释掉:成都服务器托管

#http重定向301跳转https#if($server_port!~443){#rewrite^(.*)$https://$host$1permanent;#}

原因很简单,现在https已经过期了,再强制跳转到https去验证下面的文件,当然是不成功的。


2、如果你有PC站和移动站自动跳转适配过,也需要注意临时取消自动跳转,比如 移动端的配置:成都服务器托管

#PC客户端跳转if($http_user_agent!~*(mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)){#rewrite^(.*)https://tai.test.cn$1redirect;}

否则验证文件会跳转到对应的PC端路径下去拉取,这个当然是错误的。


3、频率限制错误

  1. new-authzerror:{"type":"urn:acme:error:rateLimited","detail":"Errorcreatingnewauthz::toomanyfailedauthorizationsrecently:seehttps://letsencrypt.org/docs/rate-limits/","status":429}

这个是说明触发了SSL认证的频率限制了,目前有一个限制是:每个账户每小时每域名有最多验证失败 5 次的限制。我们稍微等一会就好了。关于这个频率限制,具体参考: https://letsencrypt.org/docs/rate-limits/


本文名称:lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题
本文URL:http://pwwzsj.com/article/ejop.html