ZeroSSL 是一个免费的数字证书颁发机构(CA),支持 ACME 协议,可以配合 acme.sh 完成证书的申请、安装和自动续期。
本文将教你如何配置 acme.sh 实现 ZeroSSL 的 泛域名证书自动续期,并包含常用 DNS 服务商的 API 配置方法。
curl https://get.acme.sh | sh
source ~/.bashrc # 或 source ~/.zshrc
acme.sh --set-default-ca --server zerossl
acme.sh --register-account -m you@example.com --server zerossl
以 example.com 为例,所需要的域名包括:
example.com*.example.com使用 DNS API 进行校验。
acme.sh --issue --dns dns_xxx -d example.com -d '*.example.com'
按照您的 DNS 服务商,需要配置相应的 API 环境变量。
export Ali_Key="<AccessKeyId>"
export Ali_Secret="<AccessKeySecret>"
AliyunDNSFullAccessexport DP_Id="<API ID>"
export DP_Key="<API Key>"
export CF_Token="<APIToken>"
export CF_Account_ID="<AccountID>"
export GD_Key="<API Key>"
export GD_Secret="<API Secret>"
export Namecom_Username="<username>"
export Namecom_Token="<API token>"
acme.sh --install-cert -d example.com \
--key-file /etc/nginx/ssl/example.com.key \
--fullchain-file /etc/nginx/ssl/example.com.pem \
--reloadcmd "nginx -s reload"
默认情况下 acme.sh 会建立 crontab 任务实现自动续期。
acme.sh 在安装时默认会设置一个 cron 任务,每天运行一次,检查是否有即将过期的证书(通常提前 30 天自动续期)。
crontab -l
如果没有,可以手动添加定时任务:
0 0 * * * ~/.acme.sh/acme.sh --cron --home ~/.acme.sh > /dev/null
此外,只要你使用 --install-cert 安装过证书,它会在续期后自动执行 --reloadcmd 里的指令,比如 nginx reload。
你也可以手动触发续期:
acme.sh --renew -d example.com --force
acme.sh --list
acme.sh --info -d example.com
通过 acme.sh 配合 ZeroSSL 和 DNS API,我们可以完全自动地管理泛域名 SSL 证书的申请、安装和续期,极大地简化了 HTTPS 部署的细节。
如果需要支持多域名/自动分发部署,还可考虑搭配 Docker、K8s、CI/CD 脚本实现全链路完全自动化。
在 IntelliJ IDEA 中,提示 “the file size exceeds the configured limit. Code insight features are not available” 表示当前文件的大小超出了 IDEA 的默认限制,因此无法启用代码自动提示、语法高亮等功能。默认文件大小限制为 2.5 MB。 解决方法 方
ProxySQL 是一个高性能、高可用性的 MySQL 代理,旨在为 MySQL 数据库提供负载均衡、读写分离、故障转移、查询缓存等高级功能。它通过在客户端和 MySQL 服务器之间充当中间层,实现对数据库连接和查询的智能管理,从而提升整体系统的性能和可靠性。
一、什么是 settings.xml settings.xml 是 Maven 的配置文件,用于定义用户级别或全局的构建配置。它包含了对 Maven 构建过程影响较大的设置,如: 本地仓库的位置 远程仓库的镜像 代理服务器配置 认证信息(如私有仓库的用户名和