自动续签证书

安装 acme.sh:

git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh/
./acme.sh –install -m my@example.com

图片[1]-自动续签证书-晴天生活分享日志
图片[2]-自动续签证书-晴天生活分享日志

获取初始证书:

在第一次获取证书时,使用以下命令(已经有一个域名,并且可以访问该域名)

地址:Installed to /root/.acme.sh/acme.sh

acme.sh –issue -d yourdomain.com -d http://www.yourdomain.com –standalone(–standalone 模式会临时启动一个HTTP服务器来验证域名所有权)

/root/.acme.sh/acme.sh –issue -d xbfxw.top -d http://www.xbfxw.top –webroot /www/wwwroot/xbfxw.top

/root/.acme.sh/acme.sh –issue -d xbfxw.top –webroot /www/wwwroot/xbfxw.top

图片[3]-自动续签证书-晴天生活分享日志

注:(修改默认 CA acme.sh 脚本默认 CA 服务器是 ZeroSSL,有时可能会导致获取证书的时候一直出现:Pending,The CA is processing your order,please just wait. 只需要把 CA 服务器改成 Let’s Encrypt 即可,虽然更改以后还是有概率出现 pending,基本 2-3 次即可成功 acme.sh –set-default-ca –server letsencrypt)

证书生成好以后,我们需要把证书复制给对应的 Apache、Nginx 或其他服务器去使用。 必须使用 –install-cert 命令来把证书复制到目标文件,请勿直接使用 ~/.acme.sh/ 目录下的证书文件,这里面的文件都是内部使用,而且目录结构将来可能会变化。

创建存放证书的目录:mkdir -p /etc/nginx/tls/

安装证书:

Nginx 示例:
acme.sh –install-cert -d example.com \
–key-file /path/to/keyfile/in/nginx/key.pem \
–fullchain-file /path/to/fullchain/nginx/cert.pem \
–reloadcmd “service nginx reload”
操作(域名换成你自己的,-d后面的):
/root/.acme.sh/acme.sh –install-cert -d xbfxw.top \
–key-file /etc/nginx/tls/key.pem \
–fullchain-file /etc/nginx/tls/cert.pem \
–reloadcmd “service nginx reload”

Nginx 的配置项 ssl_certificate 需要使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/.cer ,否则 SSL Labs 的测试会报证书链问题(Chain issues Incomplete)。

默认情况下,证书每 60 天更新一次(可自定义)。更新证书后,Apache 或者 Nginx 服务会通过 reloadcmd 传递的命令自动重载配置。

注意:reloadcmd 非常重要。证书会自动申请续签,但是如果没有正确的 reloadcmd 命令,证书可能无法被重新应用到 Apache 或者 Nginx,因为配置没有被重载。

修改宝塔nginx配置文件(站点,设置,配置文件)

listen 443 ssl http2;

ssl_certificate /www/server/panel/vhost/cert/xbfxw.top/fullchain.pem;

ssl_certificate_key /www/server/panel/vhost/cert/xbfxw.top/privkey.pem;

ssl_certificate /etc/nginx/tls/cert.pem;
/ssl_certificate_key /etc/nginx/tls/key.pem;

nginx -s reload

查看当前的 cron 任务:

crontab -l

或手动添加:

echo “0 0 * * * ‘/root/.acme.sh’/acme.sh –cron –home ‘/root/.acme.sh’ > /dev/null” | crontab –

测试自动续签:

为了确保一切正常工作,可以手动触发一次续签过程:

/root/.acme.sh/acme.sh –cron –home “/root/.acme.sh”5.

4.查看已安装证书信息

acme.sh –info -d example.com

5.证书更新

目前证书每 60 天自动更新,你无需任何操作。 但是你也可以强制续签证书:

acme.sh –renew -d example.com –force

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容