服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - WEB服务器 - lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题

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

2021-08-15 23:08飘易 WEB服务器

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

飘易有一台服务器安装了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证书到期了之后,并没有自动续期成功。于是手动执行以下这个脚本:

[Fri Jan 17 14:16:21 CST 2020] Renew: 'dongfang.piaoyi.org'
[Fri Jan 17 14:16:24 CST 2020] Single domain='dongfang.piaoyi.org'
[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='dongfang.piaoyi.org'
[Fri Jan 17 14:16:24 CST 2020] Getting new-authz for domain='dongfang.piaoyi.org'
[Fri Jan 17 14:16:27 CST 2020] The new-authz request is ok.
[Fri Jan 17 14:16:27 CST 2020] Verifying:dongfang.piaoyi.org
[Fri Jan 17 14:16:31 CST 2020] dongfang.piaoyi.org:Verify error:Invalid response from http://dongfang.piaoyi.org/.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 dongfang.piaoyi.org.

从这个错误来看,可以看到SSL需要验证域名下的这个文件:

[Fri Jan 17 14:16:27 CST 2020] _currentRoot='/storage/wwwroot/dongfang.piaoyi.org'
[Fri Jan 17 14:16:27 CST 2020] wellknown_path='/storage/wwwroot/dongfang.piaoyi.org/.well-known/acme-challenge'
[Fri Jan 17 14:16:27 CST 2020] writing token:JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw to /storage/wwwroot/dongfang.piaoyi.org/.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] dongfang.piaoyi.org:Verify error:Invalid response from http://dongfang.piaoyi.org/.well-known/acme-challenge/JyjWREY2lkrcpAFAD5gkZ0LffaTB2xQxB9Id-my5Puw:

可以看到Let'sEncrypt ACME.sh 这个脚本在写验证文件时,写错路径了:

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

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

修改为

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

 

重新执行acme脚本:

[Fri Jan 17 14:36:05 CST 2020] Renew: 'dongfang.piaoyi.org'
[Fri Jan 17 14:36:06 CST 2020] Single domain='dongfang.piaoyi.org'
[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='dongfang.piaoyi.org'
[Fri Jan 17 14:36:06 CST 2020] Getting new-authz for domain='dongfang.piaoyi.org'
[Fri Jan 17 14:36:10 CST 2020] The new-authz request is ok.
[Fri Jan 17 14:36:10 CST 2020] Verifying:dongfang.piaoyi.org
[Fri Jan 17 14:36:14 CST 2020] Success
[Fri Jan 17 14:36:14 CST 2020] Verify finished, start to sign.
[Fri Jan 17 14:36:15 CST 2020] Cert success.
[Fri Jan 17 14:36:15 CST 2020] Your cert is in  /usr/local/nginx/conf/ssl/dongfang.piaoyi.org/dongfang.piaoyi.org.cer 
[Fri Jan 17 14:36:15 CST 2020] Your cert key is in  /usr/local/nginx/conf/ssl/dongfang.piaoyi.org/dongfang.piaoyi.org.key 
[Fri Jan 17 14:36:16 CST 2020] The intermediate CA cert is in  /usr/local/nginx/conf/ssl/dongfang.piaoyi.org/ca.cer 
[Fri Jan 17 14:36:16 CST 2020] And the full chain certs is there:  /usr/local/nginx/conf/ssl/dongfang.piaoyi.org/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 success

SSL 续期成功!

并且以后再过期的时候,CRON计划任务也会自动续期了。

 

 

其他问题

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

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

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

 

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

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

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

 

3、频率限制错误

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

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

延伸 · 阅读

精彩推荐
  • WEB服务器湖北web云服务器价格

    湖北web云服务器价格

    湖北web 云服务器 价格 近年来,随着互联网技术的快速发展,云计算技术已经被广泛应用于各行各业,对于企业来说,云计算技术已经成为提升企业信息化...

    未知1612023-06-07
  • WEB服务器如何将web项目部署到腾讯云服务器

    如何将web项目部署到腾讯云服务器

    如何将Web项目部署到腾讯 云服务器 摘要:本文将详细介绍如何将Web项目部署到 腾讯云服务器 。包括选择合适的云服务器实例,配置服务器环境,上传代码...

    未知1952023-06-24
  • WEB服务器阿里云服务器部署web项目查看

    阿里云服务器部署web项目查看

    阿里 云服务器 部署web项目查看 随着互联网的发展,越来越多的企业开始将自己的业务扩展到线上平台。为了满足用户的需求,企业需要部署自己的网站或...

    未知872023-09-07
  • WEB服务器云端webdav服务器

    云端webdav服务器

    云端WebDAV服务器是一种在云端环境下提供WebDAV(Web Distributed Authoring and Versioning)协议服务的技术。WebDAV是一种HTTP扩展协议,它允许用户通过Internet访问分布...

    未知972023-05-25
  • WEB服务器宝塔面板负载状态(load average)中的数据代表了什么?

    宝塔面板负载状态(load average)中的数据代表了什么?

    宝塔面板是现在众多站长选择的服务器管理软件,本文主要讲解宝塔面板负载状态(load average)中的数据代表了什么?有需要的朋友可以参考一下。...

    九天博客5792020-05-23
  • WEB服务器云服务器安装多个web网站吗

    云服务器安装多个web网站吗

    云服务器 安装多个web网站 云服务器是一种基于云计算技术的 虚拟主机 服务,可以提供各种云计算基础设施和服务。作为一个虚拟主机,云服务器可以用于...

    未知1302023-07-12
  • WEB服务器phpstudy默认不支持64位php的解决方法

    phpstudy默认不支持64位php的解决方法

    下面小编就为大家带来一篇phpstudy默认不支持64位php的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    jingxian4702019-10-17
  • WEB服务器WDCP控制面板升级mysql为5.7.11的方法

    WDCP控制面板升级mysql为5.7.11的方法

    本文主要讲解在WDCP控制面板升级mysql为5.7.11的方法,有需要的朋友可以参考下...

    yuanxiaoping5322020-07-15