部署环境:
- Linux WAF 6.1.0-34-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.135-1 (2025-04-25) x86_64 GNU/Linux
- 域名托管到Cloudflare
- 超级差的校园网 常年在睡觉根本联系不到人的信息中心
- 实验室网关是自己的iKuai并配置了DoH,本次部署也是使用ikuai作为dns
灵感
- 内网服务器很多,每一台都为web后台配置证书很麻烦,但是http不安全,自签证书需要手动或者每次都选择信任,太麻烦了
- 所以就想到了nginx反代,长亭雷池WAF成为了完美的选择(在水深火热的校园网内安全还是很重要的)
行动
出师不利
一开始选择不使用root来部署长亭雷池waf和acme,但是发现ACME一直失败
尝试了很多解决方法 每次issue证书都会随机报一两个错误libcurl - Error Codes
后来,用root一遍过
so
一定要听劝
(截图来自acmesh-offcial/acme.sh仓库README.md)
前期准备
需要获取可以编辑域名区域的API_Token ,以及Zone_ID
- 登录cloudflare,在账户信息中找到添加API_Token
- 指定你的域名所在的区域并保存
- 创建令牌,复制好备用(令牌只在第一次创建时显示)
- 接下来进入你的域名的Overview概述页面,划到下面在右下角找到Zone ID,将其复制
开始部署
ACME
1 | #使用root运行 |
部署到WAF
签发成功后在~/.acme.sh/'*.your-domain.com/
- (windows文件名不允许有*,所以可以cat输出到终端复制)
- 将证书
'your-domain.com.cer'
和私钥your-domain.com.key
的内容复制并在WAF后台添加证书处粘贴
- 这时就可以在
/data/safeline/resources/nginx/certs/
处看到证书和私钥,现在就可以进行最后一步:自动化签发替换证书并reload nginx了
1 | acme.sh --install-cert -d *.your-domain.com \ |
- 现在你已经完成了为长亭雷池WAF自动使用ACME DNS-1自动签发证书,并自动更新替换的部署
如使用其他服务商而不是Cloudflare操作可参考最下面附上的文档和文章
参考文章和文档
雷池社区版自动SSL | 雷池 SafeLine
acmesh-official/acme.sh: A pure Unix shell script implementing ACME client protocol
dnsapi · acmesh-official/acme.sh Wiki