正常安装雷池,并配置站点,暂时不配置ssl 不使用雷池自带的证书申请。
安装(acme.sh),使用域名验证方式生成证书 先安装git yum install git 或者 apt-get install git
安装完成后使用 git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m my@example.com
注意 my@example.com 改为自己的真实邮箱
(二选一)freessl配置域名,省事方案 可与下方dns api方案二选一,适用于三个域名及以下
(1)注册freessl.cn的帐号,在域名授权中添加域名,根据提示添加cname解析
(2)进入ACME客户端,点击申请证书,选择自己的域名点击下一步,会出现acme申请命令
(3)复制命令,但先不要执行,例如你的域名是a.com,
命令中的 -d *.a.com改为-d a.com -d *.a.com,如果有多个域名也可以依次写入
例如:
acme.sh --issue -d a.com -d *.a.com -d b.com -d *.b.com -d c.com -d *.c.com --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxxxxxx 注意每个人最后的域名都不同,不要外泄 连接中最多可以出现6个 -d ,域名过多可参考下方dns api方案
(4)拼接完成后进入服务器执行,等待一分钟左右执行完成
(二选一)dns api方案,适用于域名多,或者不信任 查看acme官方文档,根据dns的服务商选择生成证书 https://github.com/acmesh-official/acme.sh/wiki/dnsapi
生成证书完成,查看绿色字体,获取证书路径
找到证书中的fullchain.cer文件和 域名.key文件,下载到本地
注意上传crt的地方选择cer文件
去站点管理,配置ssl,加上证书,域名没写错的话所有站点都可以选择这一个证书
服务器上查找雷池的安装目录,默认应该在 /data/safeline,找到对应的ssl证书,默认位置在/data/safeline/resources/nginx/certs,会有一个crt和一个key,记录文件路径
拼接命令,使用申请证书命令做修改 例如
acme.sh --install-cert -d a.com -d *.a.com -d b.com -d *.b.com -d c.com -d *.c.com --key-file /data/safeline/resources/nginx/certs/cert_1.key --fullchain-file /data/safeline/resources/nginx/certs/cert_1.crt --reloadcmd "docker exec safeline-tengine nginx -s reload" 回到证书位置,默认在/data/safeline/resources/nginx/certs,可以发现证书文件的时间变了
完成,从此ssl不用管了,全自动续期