雷池 WAF 9.2.8 版本更新公告
雷池-洋仔
更新于 4 小时前
参考文档 更新雷池

0
2
针对ASN进行封禁的需求
ᴊɪᴍᴍʏ ᴋᴍɪ
更新于 11 小时前
能否对ASN进行封禁,这样对于网站后台等业务可以直接对一些IDC以及海外的ASN封禁,而防火墙每周对ASN对应的IP段进行更新即可。
13
5
certd创建自动化流水线使用letsencrypt申请证书并更新雷池waf证书
李慧敏
更新于 18 小时前
certd(一个轻量级 ACME 证书管理工具,支持 Let's Encrypt)创建自动化证书申请与续期的流水线,并自动更新 雷池 WAF(SafeLine/Chaitin 社区版)证书的完整指南。整个流程基于 certd 的 daemon 模式 + post-hook 机制实现自动化(无需 CI/CD 平台,每日自动检查续期)。
1volumes:
2 - safeline_nginx_ssl:/opt/safeline/nginx/ssl # 雷池 Nginx SSL 目录
默认证书路径:/opt/safeline/nginx/ssl/{domain}.pem 和 {domain}-key.pem。1# 下载最新版(x86_64 Linux) 2curl -Lo certd https://github.com/longyun-cui/certd/releases/latest/download/certd-linux-amd64 3chmod +x certd 4sudo mv certd /usr/local/bin/ 5certd version # 验证
创建 /etc/certd/config.yaml:
1global:
2 email: "your-email@example.com" # Let's Encrypt 联系邮箱
3 directory: "https://acme-v02.api.letsencrypt.org/directory" # 生产环境
4 # directory: "https://acme-staging-v02.api.letsencrypt.org/directory" # 测试环境
5
6certificates:
7 - domain: "waf.example.com" # 替换为你的域名(支持多域名:domains: [waf.example.com, www.example.com])
8 provider: "nginx" # 或 "standalone"(需停止 Nginx)、"docker"
9 challenge: "http-01" # 或 "dns-01"(需配置 DNS API,如阿里云/Cloudflare)
10 # dns-01 示例(可选):
11 # dns:
12 # provider: "cloudflare"
13 # api_token: "your-cloudflare-api-token"
14 post-hook: |
15 # 更新雷池 WAF 证书
16 docker cp {{CertFile}} safeline-nginx:/opt/safeline/nginx/ssl/{{EnvName}}.pem
17 docker cp {{KeyFile}} safeline-nginx:/opt/safeline/nginx/ssl/{{EnvName}}-key.pem
18 docker exec safeline-nginx nginx -s reload
19 echo "证书已更新到雷池 WAF: {{Domain}}"
20 # pre-hook(可选,http-01 时停止 Nginx 验证):
21 # pre-hook: "docker stop safeline-nginx"
22 # post-hook: "docker start safeline-nginx"
{{CertFile}}、{{KeyFile}}、{{Domain}}、{{EnvName}} 是 certd 模板变量,自动替换。safeline-nginx 是雷池 Nginx 容器的名称(docker ps 查看)。1sudo certd run --config /etc/certd/config.yaml
/var/lib/certd/{domain}/(fullchain.pem 和 privkey.pem)。docker exec -it safeline-nginx ls /opt/safeline/nginx/ssl/,确认证书文件存在。https://waf.example.com,验证证书。certd 支持 daemon 模式,每日自动检查续期(Let's Encrypt 证书有效期 90 天)。
创建 systemd 服务 /etc/systemd/system/certd.service:
1[Unit]
2Description=certd ACME Certificate Manager
3After=network.target docker.service
4
5[Service]
6Type=simple
7ExecStart=/usr/local/bin/certd daemon --config /etc/certd/config.yaml
8Restart=always
9RestartSec=5
10
11[Install]
12WantedBy=multi-user.target
启用并启动:
1sudo systemctl daemon-reload 2sudo systemctl enable certd 3sudo systemctl start certd 4sudo systemctl status certd # 查看日志
日志查看:
1journalctl -u certd -f
/opt/safeline/nginx/conf.d/default.conf,容器内):
ssl_certificate /opt/safeline/nginx/ssl/waf.example.com.pem;
ssl_certificate_key /opt/safeline/nginx/ssl/waf.example.com-key.pem;
docker exec safeline-nginx nginx -t && docker exec safeline-nginx nginx -s reload。| 问题 | 解决方案 |
|---|---|
| 端口 80 被占 | 用 standalone provider + pre/post-hook 停止/启动 Nginx;或 DNS-01。 |
| Docker 卷权限 | chmod 644 /opt/safeline/nginx/ssl/*.pem(主机卷)。 |
| 续期失败 | 检查域名解析、防火墙(ufw allow 80/443);staging 测试。 |
| 多域名 | 在 domains: [] 添加,支持通配符 *.example.com(需 DNS-01)。 |
| 雷池容器名不对 | docker ps 确认,替换 safeline-nginx。 |
curl -X POST https://monitor.example.com/callback -d "cert renewed: {{Domain}}"。0 2 * * * /usr/local/bin/certd run --config /etc/certd/config.yaml。此流水线零维护,证书自动续期并无缝更新 WAF。测试通过后上线生产!如果有具体错误日志,提供更多细节我帮 debug。
0
1
4xx拦截统计有误
江宗厚
更新于 19 小时前
4xx拦截统计会出现超过100%
0
1
建议升级postgres数据库版本
time flies
更新于 11 小时前
最新版本9.2.7数据库版本不postgresql15.2,建议升级数据库版本到17,性能更好!
2
18
雷池社区版自动化更新SSL证书(基于DNS验证)
突突突
更新于 2 天前
从2023年下半年开始,各大云厂商的免费证书陆续从有效期一年变成了有效期三个月,这对广大的个人用户来讲是一件很不好的事情,因为这样就意味着每三个月就需要重新申请一次证书并部署。
雷池虽然自带了一个通过 Let's Encrypt 来申请证书的功能,但只支持申请时长为3个月的免费证书,但也没有自动续签的功能,所以作者就写了一个用于自动化更新雷池SSL证书的工具。
这款工具使用golang编写(go语言写的多了,就没想过用其他语言了),通过 Let's Encrypt 的 DNS-01 challenge 来进行验证并申请新的证书,替换原有的证书来实现自动更新。
目前DNS验证暂时仅支持:腾讯云、 阿里云、 华为云、 西部数码、 雨云,如果有小伙伴使用的是其他的域名服务提供商,欢迎在评论区留言,作者会在收到留言后会进行相应的更新。
项目地址:
github: https://github.com/Wink541/SafelineAPI
个人gitea: https://gitea.doicat.com/duoduo/SafelineAPI
$ git clone https://github.com/Wink541/SafelineAPI
$ cd SafelineAPI
$ go build -o safelineApi ./cmd/safelineApi/main.go
// 可根据不同平台来设定不同的编译环境
$ go env -w GOOS=linux //编译环境修改为linux,可选: linux/windows/darwin
$ go env -w GOARCH=amd64 //编辑架构修改为amd64,可选: amd64/arm64
{
"SafeLine": {
"Host": {
"HostName": "192.168.1.4",
"Port": "1443"
},
"ApiToken": "xxx"
},
"ApplyCert": {
"Days": 30,
"Email": "xxx",
"SavePath": "/tmp/ssl",
"DNSProviderConfig": {
"DNSProvider": "xxx",
"TencentCloud": {
"SecretId": "xxx",
"SecretKey": "xxx"
},
"AliCloud": {
"AccessKeyId": "xxx",
"AccessKeySecret": "xxx",
"RAMRole": "xxx(可选)",
"STSToken": "xxx(可选)"
},
"HuaweiCloud": {
"AccessKeyId": "xxx",
"Region": "xxx",
"SecretAccessKey": "xxx"
},
"WestCN": {
"Username": "xxx",
"Password": "xxx"
},
"RainYun": {
"ApiKey": "xxx"
}
}
}
}
参数介绍:
SafeLine
HostName : 雷池管理后台地址。默认为 safeline-mgt 容器IP;
Port : 雷池管理后台端口。默认为 1443 ;
ApiToken : 雷池接口API Token ,从控制台获取;
ApplyCert
Days : 过期时间,默认当证书剩余有效期小于该值时,则对证书进行更新;
Email : 申请证书时所使用的邮箱;
SavePath : 申请证书临时保存位置;
DNSProviderConfig : DNS服务提供商配置
DNSProvider : 域名服务提供商,可选 TencentCloud/AliCloud/HuaweiCloud/WestCN/RainYun ,下列的相关参数为云服务平台账号的凭据。$ ./safelineApi ./config.json //<可执行文件路径> <配置文件路径>
0 0 1,31 * * root /opt/safelineApi/safelineApi /opt/safelineApi/config.json > /opt/safelineApi/app.log
工具执行前证书有效期如图:

测试环境,过期时间设定为90天
工具执行部分日志如下:
[SUCCESS] 2025/04/15 21:36:07 SafeLine 相关配置检验完成!
[INFO] 2025/04/15 21:36:07 ApplyCert 相关配置检验完成!
[INFO] 2025/04/15 21:36:07 配置检查完毕,即将开始更新证书!
[INFO] 2025/04/15 21:36:07 本次需要更新证书数量有 6 个
2025/04/15 21:36:08 [INFO] acme: Registering account for admin@example.com
2025/04/15 21:36:09 [INFO] [www.doicat.com] acme: Obtaining bundled SAN certificate
2025/04/15 21:36:10 [INFO] [www.doicat.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/xxxxxxxxxx/xxxxxxxxxxxx
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Could not find solver for: tls-alpn-01
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Could not find solver for: http-01
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: use dns-01 solver
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Preparing to solve DNS-01
2025/04/15 21:36:12 [INFO] [www.doicat.com] acme: Trying to solve DNS-01
2025/04/15 21:36:12 [INFO] [www.doicat.com] acme: Checking DNS record propagation. [nameservers=183.60.83.19:53,183.60.82.98:53]
2025/04/15 21:36:14 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2025/04/15 21:36:22 [INFO] [www.doicat.com] The server validated our request
2025/04/15 21:36:22 [INFO] [www.doicat.com] acme: Cleaning DNS-01 challenge
2025/04/15 21:36:24 [INFO] [www.doicat.com] acme: Validations succeeded; requesting certificates
2025/04/15 21:36:27 [INFO] [www.doicat.com] Server responded with a certificate.
[SUCCESS] 2025/04/15 21:36:43 域名 [www.doicat.com] 证书更新成功!
执行后证书更新如下:

这个简单的项目就到这里了,主要还是为了解决证书更新的问题,文章内容不是很丰富(由于最近学业较繁忙,凭据申请的方法就没有去收集,各位可以上官网查询文档来获取),项目还是有需要完善的地方,有想法的小伙伴可以前往原文 雷池社区版自动化更新SSL证书 留言,在条件允许的情况下会尽力去实现。
1
8
当前 IP
雷池 WAF 9.2.8 版本更新公告
雷池-洋仔
更新于 4 小时前
参考文档 更新雷池

0
2
针对ASN进行封禁的需求
ᴊɪᴍᴍʏ ᴋᴍɪ
更新于 11 小时前
能否对ASN进行封禁,这样对于网站后台等业务可以直接对一些IDC以及海外的ASN封禁,而防火墙每周对ASN对应的IP段进行更新即可。
13
5
certd创建自动化流水线使用letsencrypt申请证书并更新雷池waf证书
李慧敏
更新于 18 小时前
certd(一个轻量级 ACME 证书管理工具,支持 Let's Encrypt)创建自动化证书申请与续期的流水线,并自动更新 雷池 WAF(SafeLine/Chaitin 社区版)证书的完整指南。整个流程基于 certd 的 daemon 模式 + post-hook 机制实现自动化(无需 CI/CD 平台,每日自动检查续期)。
1volumes:
2 - safeline_nginx_ssl:/opt/safeline/nginx/ssl # 雷池 Nginx SSL 目录
默认证书路径:/opt/safeline/nginx/ssl/{domain}.pem 和 {domain}-key.pem。1# 下载最新版(x86_64 Linux) 2curl -Lo certd https://github.com/longyun-cui/certd/releases/latest/download/certd-linux-amd64 3chmod +x certd 4sudo mv certd /usr/local/bin/ 5certd version # 验证
创建 /etc/certd/config.yaml:
1global:
2 email: "your-email@example.com" # Let's Encrypt 联系邮箱
3 directory: "https://acme-v02.api.letsencrypt.org/directory" # 生产环境
4 # directory: "https://acme-staging-v02.api.letsencrypt.org/directory" # 测试环境
5
6certificates:
7 - domain: "waf.example.com" # 替换为你的域名(支持多域名:domains: [waf.example.com, www.example.com])
8 provider: "nginx" # 或 "standalone"(需停止 Nginx)、"docker"
9 challenge: "http-01" # 或 "dns-01"(需配置 DNS API,如阿里云/Cloudflare)
10 # dns-01 示例(可选):
11 # dns:
12 # provider: "cloudflare"
13 # api_token: "your-cloudflare-api-token"
14 post-hook: |
15 # 更新雷池 WAF 证书
16 docker cp {{CertFile}} safeline-nginx:/opt/safeline/nginx/ssl/{{EnvName}}.pem
17 docker cp {{KeyFile}} safeline-nginx:/opt/safeline/nginx/ssl/{{EnvName}}-key.pem
18 docker exec safeline-nginx nginx -s reload
19 echo "证书已更新到雷池 WAF: {{Domain}}"
20 # pre-hook(可选,http-01 时停止 Nginx 验证):
21 # pre-hook: "docker stop safeline-nginx"
22 # post-hook: "docker start safeline-nginx"
{{CertFile}}、{{KeyFile}}、{{Domain}}、{{EnvName}} 是 certd 模板变量,自动替换。safeline-nginx 是雷池 Nginx 容器的名称(docker ps 查看)。1sudo certd run --config /etc/certd/config.yaml
/var/lib/certd/{domain}/(fullchain.pem 和 privkey.pem)。docker exec -it safeline-nginx ls /opt/safeline/nginx/ssl/,确认证书文件存在。https://waf.example.com,验证证书。certd 支持 daemon 模式,每日自动检查续期(Let's Encrypt 证书有效期 90 天)。
创建 systemd 服务 /etc/systemd/system/certd.service:
1[Unit]
2Description=certd ACME Certificate Manager
3After=network.target docker.service
4
5[Service]
6Type=simple
7ExecStart=/usr/local/bin/certd daemon --config /etc/certd/config.yaml
8Restart=always
9RestartSec=5
10
11[Install]
12WantedBy=multi-user.target
启用并启动:
1sudo systemctl daemon-reload 2sudo systemctl enable certd 3sudo systemctl start certd 4sudo systemctl status certd # 查看日志
日志查看:
1journalctl -u certd -f
/opt/safeline/nginx/conf.d/default.conf,容器内):
ssl_certificate /opt/safeline/nginx/ssl/waf.example.com.pem;
ssl_certificate_key /opt/safeline/nginx/ssl/waf.example.com-key.pem;
docker exec safeline-nginx nginx -t && docker exec safeline-nginx nginx -s reload。| 问题 | 解决方案 |
|---|---|
| 端口 80 被占 | 用 standalone provider + pre/post-hook 停止/启动 Nginx;或 DNS-01。 |
| Docker 卷权限 | chmod 644 /opt/safeline/nginx/ssl/*.pem(主机卷)。 |
| 续期失败 | 检查域名解析、防火墙(ufw allow 80/443);staging 测试。 |
| 多域名 | 在 domains: [] 添加,支持通配符 *.example.com(需 DNS-01)。 |
| 雷池容器名不对 | docker ps 确认,替换 safeline-nginx。 |
curl -X POST https://monitor.example.com/callback -d "cert renewed: {{Domain}}"。0 2 * * * /usr/local/bin/certd run --config /etc/certd/config.yaml。此流水线零维护,证书自动续期并无缝更新 WAF。测试通过后上线生产!如果有具体错误日志,提供更多细节我帮 debug。
0
1
4xx拦截统计有误
江宗厚
更新于 19 小时前
4xx拦截统计会出现超过100%
0
1
建议升级postgres数据库版本
time flies
更新于 11 小时前
最新版本9.2.7数据库版本不postgresql15.2,建议升级数据库版本到17,性能更好!
2
18
雷池社区版自动化更新SSL证书(基于DNS验证)
突突突
更新于 2 天前
从2023年下半年开始,各大云厂商的免费证书陆续从有效期一年变成了有效期三个月,这对广大的个人用户来讲是一件很不好的事情,因为这样就意味着每三个月就需要重新申请一次证书并部署。
雷池虽然自带了一个通过 Let's Encrypt 来申请证书的功能,但只支持申请时长为3个月的免费证书,但也没有自动续签的功能,所以作者就写了一个用于自动化更新雷池SSL证书的工具。
这款工具使用golang编写(go语言写的多了,就没想过用其他语言了),通过 Let's Encrypt 的 DNS-01 challenge 来进行验证并申请新的证书,替换原有的证书来实现自动更新。
目前DNS验证暂时仅支持:腾讯云、 阿里云、 华为云、 西部数码、 雨云,如果有小伙伴使用的是其他的域名服务提供商,欢迎在评论区留言,作者会在收到留言后会进行相应的更新。
项目地址:
github: https://github.com/Wink541/SafelineAPI
个人gitea: https://gitea.doicat.com/duoduo/SafelineAPI
$ git clone https://github.com/Wink541/SafelineAPI
$ cd SafelineAPI
$ go build -o safelineApi ./cmd/safelineApi/main.go
// 可根据不同平台来设定不同的编译环境
$ go env -w GOOS=linux //编译环境修改为linux,可选: linux/windows/darwin
$ go env -w GOARCH=amd64 //编辑架构修改为amd64,可选: amd64/arm64
{
"SafeLine": {
"Host": {
"HostName": "192.168.1.4",
"Port": "1443"
},
"ApiToken": "xxx"
},
"ApplyCert": {
"Days": 30,
"Email": "xxx",
"SavePath": "/tmp/ssl",
"DNSProviderConfig": {
"DNSProvider": "xxx",
"TencentCloud": {
"SecretId": "xxx",
"SecretKey": "xxx"
},
"AliCloud": {
"AccessKeyId": "xxx",
"AccessKeySecret": "xxx",
"RAMRole": "xxx(可选)",
"STSToken": "xxx(可选)"
},
"HuaweiCloud": {
"AccessKeyId": "xxx",
"Region": "xxx",
"SecretAccessKey": "xxx"
},
"WestCN": {
"Username": "xxx",
"Password": "xxx"
},
"RainYun": {
"ApiKey": "xxx"
}
}
}
}
参数介绍:
SafeLine
HostName : 雷池管理后台地址。默认为 safeline-mgt 容器IP;
Port : 雷池管理后台端口。默认为 1443 ;
ApiToken : 雷池接口API Token ,从控制台获取;
ApplyCert
Days : 过期时间,默认当证书剩余有效期小于该值时,则对证书进行更新;
Email : 申请证书时所使用的邮箱;
SavePath : 申请证书临时保存位置;
DNSProviderConfig : DNS服务提供商配置
DNSProvider : 域名服务提供商,可选 TencentCloud/AliCloud/HuaweiCloud/WestCN/RainYun ,下列的相关参数为云服务平台账号的凭据。$ ./safelineApi ./config.json //<可执行文件路径> <配置文件路径>
0 0 1,31 * * root /opt/safelineApi/safelineApi /opt/safelineApi/config.json > /opt/safelineApi/app.log
工具执行前证书有效期如图:

测试环境,过期时间设定为90天
工具执行部分日志如下:
[SUCCESS] 2025/04/15 21:36:07 SafeLine 相关配置检验完成!
[INFO] 2025/04/15 21:36:07 ApplyCert 相关配置检验完成!
[INFO] 2025/04/15 21:36:07 配置检查完毕,即将开始更新证书!
[INFO] 2025/04/15 21:36:07 本次需要更新证书数量有 6 个
2025/04/15 21:36:08 [INFO] acme: Registering account for admin@example.com
2025/04/15 21:36:09 [INFO] [www.doicat.com] acme: Obtaining bundled SAN certificate
2025/04/15 21:36:10 [INFO] [www.doicat.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/xxxxxxxxxx/xxxxxxxxxxxx
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Could not find solver for: tls-alpn-01
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Could not find solver for: http-01
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: use dns-01 solver
2025/04/15 21:36:10 [INFO] [www.doicat.com] acme: Preparing to solve DNS-01
2025/04/15 21:36:12 [INFO] [www.doicat.com] acme: Trying to solve DNS-01
2025/04/15 21:36:12 [INFO] [www.doicat.com] acme: Checking DNS record propagation. [nameservers=183.60.83.19:53,183.60.82.98:53]
2025/04/15 21:36:14 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2025/04/15 21:36:22 [INFO] [www.doicat.com] The server validated our request
2025/04/15 21:36:22 [INFO] [www.doicat.com] acme: Cleaning DNS-01 challenge
2025/04/15 21:36:24 [INFO] [www.doicat.com] acme: Validations succeeded; requesting certificates
2025/04/15 21:36:27 [INFO] [www.doicat.com] Server responded with a certificate.
[SUCCESS] 2025/04/15 21:36:43 域名 [www.doicat.com] 证书更新成功!
执行后证书更新如下:

这个简单的项目就到这里了,主要还是为了解决证书更新的问题,文章内容不是很丰富(由于最近学业较繁忙,凭据申请的方法就没有去收集,各位可以上官网查询文档来获取),项目还是有需要完善的地方,有想法的小伙伴可以前往原文 雷池社区版自动化更新SSL证书 留言,在条件允许的情况下会尽力去实现。
1
8