你的网站在“luo奔”(http协议)还是购买的ssl证书呢,其实使用脚本就可以申请ssl证书并且自动续期。
下面分享我申请ssl证书折腾的过程及执行过程中遇到的坑,收藏留用吧。
官网最新已经有提供CertGo客户端,如果你不需要折腾脚本可以使用可视化操作(如果你更喜欢用脚本就选acme.sh)。
CertGo:桌面端,体验沉浸式、可视化的证书管理
acme.sh:纯 Shell 脚本编写的客户端,零依赖,轻量级且功能极其强大。
配置 DNS 服务商
以 aliyun 服务商为例(具体以您的域名服务商为准)。
https://ram.console.aliyun.com/users/create
配置访问凭证,记录生成AccessKey ID、AccessKey Secret(后面会用到)。

登录 FreeSSL
https://freessl.cn 注册/登录。
添加 ACME 账号
新增 EAB -> 起个标签名 --> 记录生成 EAB KID、EAB HMAC KEY(后面会用到)。
可视化(CertGo 桌面端)
唤起客户端
下载安装客户端。

配置 DNS 供应商
API 凭证输入 aliyun 申请的凭证信息。

配置自动化证书
基础配置(添加域名)
可以多个域名公用一个证书,添加多个域名即可。
如果你申请的是
*通用域名,最好再申请一个单域名,例如:申请*.bugshare.cn时多申请一个bugshare.cn,这样访问https://bugshare.cn也能通。
集成设置(选择供应商)
选择之前配置的 DNS 供应商,这样会在 DNS 记录中自动写入 TXT 记录。
如果申请过程中出现DNS错误,一般是DNS解析问题,可以通过https://dnschecker.org检查或联系DNS供应商(有时候可能48小时内生效)。
部署配置(复制证书)
证书路径以你服务器存放实际路径(例如以nginx配置的路径为准),
复制后可以执行命令,例如:重启nginx
nginx -s reload,我的nginx放在docker,那么配置的是docker restart nginx。
部署 CertGo Agent(Linux服务器自动续期)
下载配置文件,一键复制配置命令
安装 CertGo Agent
curl -sSL https://certgo.trustasia.com/install.sh | sudo bash上传配置并首次运行,将配置文件上传到 ~/.certgo/configs/ 目录后,执行
certgo reload

Shell 脚本(acme.sh)
安装 acme.sh
首先在服务器上安装 ACME 客户端。
https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E
配置 DNS 服务商
导入 DNS 提供商的 API 凭证以实现自动验证(前面有申请)。
绑定 ACME 账户(首次运行)
使用 EAB 凭证绑定您的 ACME 账户(前面有申请)。
申请证书
执行命令以验证域名所有权并签发证书。
可以多个域名公用一个证书,添加多个域名即可。
如果你申请的是
*通用域名,最好再申请一个单域名,例如:申请*.bugshare.cn时多申请一个bugshare.cn,这样访问https://bugshare.cn也能通。如果申请过程中出现DNS错误,一般是DNS解析问题,可以通过https://dnschecker.org检查或联系DNS供应商(有时候可能48小时内生效)。
部署证书 (示例)
选择您的 Web 服务器类型,将证书安装到指定路径并配置服务重载。
之前申请的所有域名都是写上
证书路径以你服务器存放实际路径(例如以nginx配置的路径为准),
复制后可以执行命令,例如:重启nginx
nginx -s reload,我的nginx放在docker,那么配置的是docker restart nginx。
自动续期
acme.sh 会自动创建 Cron 任务,无需额外操作。
强制续签证书
目前证书每 30 天自动更新,你无需任何操作。
但是你也可以强制续签证书:
查看已安装证书信息
更新 acme.sh
升级 acme.sh 到最新版:
如果你不想手动升级,可以开启自动升级:
之后,acme.sh 就会自动保持更新了。
你也可以随时关闭自动更新:

DNS Check
输入 DNS 的 TXT 记录即可查询。
Windows 服务器
如果您用的是Windows Server服务器,可以参考:https://www.win-acme.com
