- 新增 app_configs 表与 appconfig 注册表:读取优先级 页面 → .env → 默认,删除即回退 - 页面可配 7 项:支付回调基址、成功回跳、Webhook 密钥(加密入库)、未验签放行开关、CORS、可信代理、GeoIP 路径 - 引导密钥(JWT_SECRET / OPSLIC_MASTER_KEY / OFFLINE_LICENSE_SEED)与部署参数只读展示掩码+指纹,永不入库 - 校验:URL 格式、密钥长度≥16、CIDR、release 下禁止开启未验签回调;变更写审计日志 - 消费点改造:支付回调地址、Waffo 回跳、webhook 验签、可信代理、CORS、GeoIP 统一走配置中心 - 前端新增「审计与设置 → 运行配置」页(分组表格 + 来源标记 + 编辑弹窗 + 恢复默认) - .env.example 补注释:哪些必须留在 .env、哪些已收敛到页面
This commit is contained in:
1 parent
b0b611eee2
commit
83a3630404
17 files changed
+1204
-33
No files matched your search
@@ -4,8 +4,8 @@ package utils
|
||||
// 数据文件默认 /data/geoip/GeoLite2-City.mmdb(容器卷内),缺失时静默返回空串,不影响业务。 // Logan.Li
|
||||
|
||||
import (
|
||||
"backend/internal/service/appconfig"
|
||||
"net/netip"
|
||||
"os"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
@@ -27,7 +27,7 @@ func LookupIPLocation(value string) string {
|
||||
return "内网"
|
||||
}
|
||||
geoIPReader.once.Do(func() {
|
||||
path := os.Getenv("GEOIP_DB_PATH")
|
||||
path := appconfig.String("GEOIP_DB_PATH")
|
||||
if path == "" {
|
||||
path = "/data/geoip/GeoLite2-City.mmdb"
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user