LAMP环境下使用acme.sh自动脚本配置Let’s Encrypt SSL证书

  • 简介: 因原赛门铁克(Symantec)SSL证书到期,采用Let’s Encrypt 证书重新配置
  • 服务器配置环境:LAMP(centos7.1 + apcahe2.4)
  • 使用脚本:  Let’s Encrypt 证书自动配置脚本:acme.sh
  • 官方文档:
    • https://github.com/Neilpang/acme.sh/wiki/说明   (以nginx为例)
    • https://github.com/Neilpang/acme.sh/wiki

1.安装acme.sh脚本命令

  • git clone https://github.com/Neilpang/acme.sh.git
  • cd acme.sh
  • ./acme.sh –install (官方文档说脚本会自动创建cronjob,且后续操作所有参数都会被自动记录下来,并在将来再次自动调用更新证书.)
  • alias acme.sh=~/.acme.sh/acme.sh (如使用curl安装,可以alias创建一个bash的创建一个别名,避免无法直接执行acme.sh)

2.生成证书并验证:

  • bash acme.sh –issue -d www.log-ing.com –webroot /*指定站点文件根目录*
  • 有关问题:
    • 注意此处域名参数采用通配符域名www,因站点设置强制跳转https://www.log-ing.com,避免证书安装后浏览器提示与网址不一致导致出错……按道理来说一般证书发行会自带www子域名,这里用log-ing.com应该不会错才是,【未测试】:看官方文档,貌似可以指定两个-d参数解决这个问题: acme.sh –issue -d log-ing.com -d www.log-ing.com –webroot /*指定站点文件根目录*
    • 嫌指定站点文件根目录麻烦可以使用apache 模式:acme.sh –issue -d www.log-ing.com –apache
    • 国内服务器有时会出现Verify error验证错误,连接超时,可以尝试重新执行此步骤

3.证书安装命令:

  • acme.sh –install-cert -d www.log-ing.com –cert-file /*指定路径*/fullchain.pem –key-file /*指定路径*/privkey.key –fullchain-file /*指定路径*/fullchain.pem –reloadcmd “service httpd restart”
  • 参数及说明:
    •     -d www.log-ing.com (与生成证书保持一致)
    •     –cert-file /*与httpd-ssl.conf文件中相应配置路径一致*/fullchain.pem (注意此处指定的证书文件是fullchain.pem,技术渣表示讲不清原因,待确认)
    •     –key-file /*与httpd-ssl.conf文件中相应配置路径一致*/privkey.key (指定私钥文件)
    •     –fullchain-file /*与httpd-ssl.conf文件中相应配置路径一致*/fullchain.pem (应该用到前两个参数就可以了,httpd-ssl.conf有的把这个参数注释掉了,暂保留)
    •     –reloadcmd “service httpd restart” (指定重启httpd服务命令,官方文档中为”service nginx force-reload”,centos7.1系统下会出错,待确认)
  • 执行完毕会出现Reload success
  • ps:证书部署后,打开网页发现没有小绿锁时,排查网页中是否存在非https混合内容,可以利用浏览器开发工具排查http元素,修改相应源代码为ssl链接即可,详细可参照:https://angeltime.cc/archives/494.html
  • 写在最后面:第二次配置SSL了,同样是谨慎操作,认真求证,多看文档,不懂就搜。。。渣渣排版

点击数:410

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

返回顶部