lnmp SSL证书使用教程(lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题)
lnmp SSL证书使用教程
lnmp1.5使用Let'sEncrypt创建SSL证书自动续期问题飘易有一台服务器安装了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 successSSL 续期成功!
并且以后再过期的时候,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、频率限制错误
- 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/
您可能感兴趣
- 关闭ssl证书验证模块(开启OCSP提升https证书验证效率解决Let’s Encrypt SSL证书访问慢的问题)
- apachessl证书怎么获取(Apache SSL服务器配置SSL详解)
- nginx怎么用ssl证书(制作能在nginx和IIS中使用的ssl证书)
- docker 技术认证(docker获取Let's Encrypt永久免费SSL证书的方法)
- linux安装phpstudy(PHPStudy下如何为Apache安装SSL证书的方法步骤)
- 宝塔部署ssl证书(宝塔面板设置SSL并开启HTTPS的方法)
- 阿里云ssl证书安装教程(阿里云申请的 CA Wosin 证书,在Windows iis下导入证书的步骤分享)
- 宝塔面板安装ssl证书(宝塔面板如何配置https?BT宝塔设置SSL证书图文教程)
- 宝塔面板安装ssl证书网站打不开(宝塔面板如何配置SSL证书?)
- 解决docker的tls(ssl)证书过期问题(解决docker的tlsssl证书过期问题)
- 阿里云ssl证书ip地址(阿里云申请云盾免费SSL证书https)
- 阿里云负载均衡垂直扩容(阿里云负载均衡SLB安装SSL证书的方法)
- phpstudyv8.0使用教程学习(phpStudy环境安装SSL证书教程)
- ssl服务器搭建的步骤(windows apache环境下部署SSL证书让网站支持https的配置方法)
- nginxssl证书怎么设置(nginx结合openssl实现https的方法)
- 怎么样查找linux的ssl证书(护卫神主机大师Linux添加绑定ssl证书图文教程)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
- 收藏 春节假期,这些景区巨划算(收藏春节假期这些景区巨划算)
- 景区游玩,这些安全知识要牢记(这些安全知识要牢记)
热门推荐
- sql怎么取随机数(SQLServer 使用rand获取随机数的操作)
- python利用空列表进行数字排序(python实现计数排序与桶排序实例代码)
- php命名空间真的存在吗(PHP中命名空间的使用例子)
- tomcat架构解析(浅谈Tomcat多层容器的设计)
- mysqlexplain的用法(MySQL SHOW STATUS语句的使用)
- tomcat解决乱码(解决tomcat 静态页面html中文乱码的解决终极篇)
- docker搭建私有dns域名解析(docker内网搭建dns使用域名访问替代ip:port的操作)
- sw动态注解视图干嘛的(Swoole 5将移除自动添加Event::wait特性详解)
- 香港云服务器优化有用吗(香港云服务器优势有哪些?)
- dedecms优化关键词(DedeCMS栏目列表推荐文章加粗效果去除方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9