使用FreeSSL申请SSL泛证书(*.libai.com)并自动续签(ACME)

本文详细介绍了如何使用acme.sh工具在Nginx环境下申请和管理免费SSL证书,包括注册FreeSSL、配置泛域名、安装acme.sh、生成和部署证书、以及自动更新和维护的相关步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近在研究关于acme.sh申请免费证书和自动续签,在此记录下遇到的问题,本文主要是使用nginx的方式申请证书

参考的文档

github.com/acmesh-offi…

一、注册FreeSSL并申请证书

注册后申请证书

注册地址:https://freessl.cn/

填写信息后点击创建免费的SSL证书

泛域名必须以*开头这样后面添加新的三级头都可以使用申请的这个证书开启SSL。

 

填写域名配置信息,如果要申请泛域名证书就填写*,如果还需要其他域名就填写,记录类型选择CNAME,然后下一步。

 添加的每个域名都需要添加到域名解析记录当中

 到您的域名解析添加解析记录,下面以Aliyun为例:

点击【配置完成,立即检测】后获得证书申请命令

二、安装acme.sh

sudo su 建议切换到root模式,可以减少证书安装时的问题
注意:MacOS 不用切换到root更简单,libai@qq.com更换为自己注册Free SSL邮箱。

curl https://get.acme.sh | sh -s email=libai@qq.com

如果上面官方下载地址失败 或者 太慢,可以选用国内的备用地址

curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false | sh -s email=libai@qq.com

注意:安装完成后,再重新打开命令行(如果是 SSH,选择重新连接),以使acme.sh命令生效。

安装acme完成后使用“acme.sh -v”命令查看版本号,代码如下:

acme.sh -v

root@C20230830103466:~# acme.sh -v
https://github.com/acmesh-official/acme.sh
v3.0.8

 三、生成证书

 然后执行自己的acme部署命令:

 执行命令后出现这个代表部署成功:Cert success.

四、copy证书到nginx目录

创建ssl证书目录: mkdir /etc/nginx/ssl/你的域名

安装证书到指定目录,支持Apache&Nginx两种方式。

部署到 WebServer

Apache example:

acme.sh --install-cert -d 你的域名 \
--cert-file      /etc/nginx/ssl/你的域名/cert.pem  \
--key-file       /etc/nginx/ssl/你的域名/key.pem  \
--fullchain-file /etc/nginx/ssl/你的域名/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

Nginx example:

acme.sh --install-cert -d 你的域名 \ 
--key-file /etc/nginx/ssl/你的域名/key.pem \ 
--fullchain-file /etc/nginx/ssl/你的域名/cert.pem \ 
--reloadcmd "service nginx force-reload"

 五、更新nginx配置文件

如果有多个网站使用多个域名的话,都可以配置这个证书,只要二级域名是我们申请的(libai.com)就支持。

打开nginx配置文件进行修改

listen       80;
    listen  [::]:80;
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  www.libai.com; //这里域名不需要管,因为我们申请的泛域名。
    if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
    
    ssl_certificate /etc/nginx/ssl/你的域名/cert.pem;//这里的文件路径就是上一步拷贝过来的
    ssl_certificate_key /etc/nginx/ssl/你的域名/key.pem;//这里的文件路径就是上一步拷贝过来的
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_prefer_server_ciphers on;

配置好后,重启nginx就生效啦!!!

重启: nginx systemctl restart nginx

六、更新acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步

升级 acme 到最新 acme.sh --upgrade

如果你不想手动升级, 可以开启自动升级,之后 acme.sh 就会自动保持更新了

acme.sh --upgrade --auto-upgrade

关闭自动更新 acme.sh --upgrade --auto-upgrade 0

七、其他

证书默认是90天,如需强制更新证书,则执行以下命令:

acme.sh --renew -d 你的域名 --force

acme.sh会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书,使用以下命令可查看定时任务:

crontab -l

出错时,可以添加debug查看详情 acme.sh --issue ..... --debug

卸载证书

首先使用

acme.sh --list

命令查看目前服务器所存在的证书,如图,目前仅有一个证书:

然后我们使用:

acme.sh  --revoke -d *.imotao.com

acme.sh  --remove -d *.imotao.com

--revoke,销毁一个证书,

--remove,从acme.sh已知的证书列表中删除证书。

证书卸载吊销完成后,我们需要的话在重新申请吧,最好回到证书的目录看看证书是否删除,未删除的话手动删了吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值