|
|
b30fafd34f
|
perf: 优化路由监听服务性能,减少 API 调用
主要优化:
- 性能优化:只调用一次 get_all_ssls() API,在内存中构建域名集合进行快速查找
- 之前:N 个域名 = N 次 API 调用
- 现在:N 个域名 = 1 次 API 调用
- 性能提升:从 O(N×M) 降低到 O(N+M)
- HTTP 连接复用:使用 requests.Session() 复用连接,减少连接开销
- 代码重构:
- 提取 _fetch_apisix_data() 公共方法,减少重复代码
- 提取 _is_valid_domain() 方法,改进 IP 地址检测(支持 IPv4/IPv6)
- 提取 _build_ssl_domains_set() 方法,构建 SSL 域名集合
- IP 地址检测改进:使用 ipaddress 模块,更准确地检测 IPv4 和 IPv6
这些优化显著提升了服务性能,特别是在处理大量路由和域名时。
|
2026-01-01 19:58:16 +00:00 |
|
|
|
7c464126a9
|
fix: 修复 f-string 语法错误
- 修复 f-string 中表达式解析错误
- 将计算移到 f-string 外面,避免语法错误
- 修复前: {len(additional_domains)} + 1} (语法错误)
- 修复后: total_domains = len(additional_domains) + 1; {total_domains}
|
2026-01-01 19:40:38 +00:00 |
|
|
|
cd346ec94b
|
feat: 优化证书申请逻辑,同一路由的多个域名合并到一个证书
- 按路由处理域名,而不是按域名处理
- 同一路由中的多个域名合并到一个证书申请(使用 SAN)
- 减少证书数量,简化管理
- 符合最佳实践:一个证书包含多个相关域名
优势:
- 减少证书数量(从 N 个减少到 1 个)
- 减少续期次数
- 降低 Let's Encrypt API 调用频率
- 简化证书管理
示例:
- 路由包含 jingrowtools.cn 和 www.jingrowtools.cn
- 现在会申请一个包含两个域名的证书(SAN)
- 而不是分别申请两个独立证书
|
2026-01-01 19:38:34 +00:00 |
|
|
|
cac12f50bd
|
chore: 从 git 跟踪中移除 __pycache__ 文件
- 移除已跟踪的 Python 缓存文件
- .gitignore 中已包含 __pycache__/ 规则,以后不会再跟踪这些文件
|
2026-01-01 19:33:47 +00:00 |
|
|
|
7198a1376b
|
refactor: 优化路由监听服务,移除已处理域名列表
- 移除 processed_domains 状态管理,改为直接检查 APISIX 实际 SSL 配置
- 简化代码逻辑,提高可靠性
- 修复 SSL 配置查找时的类型错误(key 字段是字符串而非字典)
- 添加路由状态检查,跳过禁用的路由(status=0)
优势:
- 更简单:无需维护状态文件
- 更准确:直接检查实际配置,避免状态不一致
- 更可靠:即使证书被删除,也能自动检测并重新申请
|
2026-01-01 19:32:58 +00:00 |
|
|
|
3a37cc6e14
|
删除ssl_manager冗余文件
|
2026-01-01 19:28:19 +00:00 |
|
|
|
2421089e68
|
添加了路由状态检查,跳过禁用路由
|
2026-01-01 18:43:06 +00:00 |
|
|
|
5bd9e95e15
|
ssl_manager增加支持额外域名
|
2026-01-01 18:28:10 +00:00 |
|
|
|
88f5127d9b
|
优化ssl自动化功能
|
2026-01-01 17:12:14 +00:00 |
|
|
|
7d885471c0
|
增加ssl_manager功能实现创建路由时自动申请并续期ssl免费证书,测试成功
|
2026-01-01 15:21:37 +00:00 |
|