- 简介: 因原赛门铁克(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了,同样是谨慎操作,认真求证,多看文档,不懂就搜。。。渣渣排版
Views: 410