Files
yunzerwebsiteallinone/go/conf/app.conf
T
2026-11-05 01:08:55 +08:00

144 lines
8.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
appname = server
httpport = 9000
runmode = dev
# ==================== 平台后台 SPA 静态托管 ====================
# 之前 platform.yunzer.cn 的 SPA 静态文件依赖 nginx 在对应 server 块里
# 配 location ~ ^/(platform|backend|auth|api|app)/ { proxy_pass ... } 反代到 Go,
# 而 nginx 默认 server 块经常只有 root + static,缺这条就会让所有 API 请求 404。
# 现在由 Go 自己吐这些 host 的 SPA 静态;/platform|/backend|/auth|/api|/app
# 仍走 beego Router;/uploads|/themes 走 main.go 注册的 SetStaticPath。
# 多 host 用英文逗号分隔;目录留空则关闭该功能,回落到由 nginx 自行处理。
platform_spa_dir = /www/wwwroot/platform.yunzer.cn/output
platform_spa_hosts = platform.yunzer.cn
# ==================== 根路径站点验证文件 ====================
# nginx 对所有域名都是全量反代给 Go,Go 不认识的路径一律回 beego 404,
# 导致 1XXl8fPHr9.txt 这类「域名所有权验证文件」访问不到(备案、搜索引擎收录、
# 第三方平台域名校验都靠它)。这里由 Go 直接吐 verify 目录下的文件,
# 不依赖 nginx 规则(宝塔重生成 vhost 也不会被冲掉)。
#
# verify_dir 验证文件目录,相对进程工作目录(线上 = /www/wwwroot/api.yunzer.cn/verify)
# 留空 = 默认 verify;填 - = 关闭该功能
# verify_exts 允许的扩展名(逗号分隔);留空 = 默认 .txt,.html,.htm
# verify_hosts 限定生效的域名(不含端口,逗号分隔);留空 = 所有走本服务的域名都生效
# (备案常常要同时过 api.yunzer.cn 与官网主域名 yunzer.com.cn / dh2.fun)
verify_dir =
verify_exts =
verify_hosts =
# 启用请求体复制(允许多次读取请求体)
copyrequestbody = true
# ==================== 服务器超时 / 请求体大小 ====================
# 0 表示不设置超时限制
ServerTimeOut = 0
# 最大请求体大小(字节)。本地开发建议统一为 10MB,避免误传大文件打爆内存。
maxmemory = 10485760
# ==================== 数据库配置 ====================
# MySQL - 远程连接配置(本地开发连线上测试库)
mysqluser = root
mysqlpass = Lzq920103
# mysqlurls = 10.31.100.4:3306
mysqlurls = 212.64.112.158:5506
mysqldb = go-platform
# ORM配置
orm = mysql
# ==================== 静态文件目录 ====================
# 映射 /static 路径到前端 dist 目录
# StaticDir = /static:../front/dist
# 映射 /uploads 路径到上传文件目录(项目根目录下的 uploads 文件夹)
StaticDir = /uploads:../uploads
# ==================== 租户自有域名绑定 / 自动 HTTPS ====================
# 本地开发不涉及,留空即可
customdomain_cname_target =
customdomain_a_ips =
acme_email =
acme_directory =
ssl_cert_dir = /www/wwwroot/ssl-certs
# ==================== 统一认证中心(UAC)基础配置 ====================
# 全局 JWT 鉴权模式:off=不启用 / warn=观察模式只记日志不拦截 / on=真正拦截401
# 本地开发建议 off 或 warn,避免调试接口被 401 拦截
auth_enforce = warn
# 额外免鉴权路径前缀(在内置白名单之外追加),多个用英文逗号分隔
auth_whitelist =
# ==================== 模块套餐鉴权 ====================
# 未开通模块的接口直接拒绝:off=不启用 / warn=观察模式只记日志 / on=拦截返回403
# 上线步骤同 auth_enforce:先 warn 跑一段,看日志确认映射无遗漏,再改 on
plan_enforce = warn
# 接口前缀 → 模块编码(yz_system_modules.code),多个用英文逗号分隔,格式 前缀:模块编码
# 按「最长前缀」匹配;未出现在这里的接口不做模块校验(默认放行),可逐模块灰度开启
# 说明:
# /backend/crm/* 含招投标等全部 CRM 子功能
# /backend/erp/* 含客户/供应商/账套/通讯录/组织架构(erp 端)
# /backend/oa/* 含人事档案/薪酬/日程/通知/文档/组织架构(oa 端)
# 如需覆盖网站管理(文章/产品/解决方案/Banner/友链/单页/模板/域名)与 AI,
# 按各自模块编码追加前缀即可,例如:
# ,/backend/articles:cms,/backend/productsList:cms,/backend/ai:ai,/backend/mcp:ai
plan_module_paths = /backend/crm:crm,/backend/erp:erp,/backend/oa:oa
# JWT 签发者(统一认证中心地址)
jwt_issuer = https://api.yunzer.cn/auth
# HS256 主密钥:留空则沿用内置默认密钥(兼容历史 token)
jwt_secret = peaceandlove
# HS256 轮换密钥(用于平滑换密钥),格式:kid1:secret1,kid2:secret2
jwt_secrets =
# RS256 密钥对(认证中心签发用私钥,业务端验签只用公钥)
#
# 本地开发对接线上认证中心(https://api.yunzer.cn/auth)时:
# - token 由线上用「线上私钥」签发(jwtutil 固定 Alg=RS256,见 services/auth/token.go)
# - 本地业务接口必须用「线上公钥」验签,否则一律 401「无效的token」
# - conf/jwt_rsa_public.pem 即线上 /auth/jwks.json 还原出的公钥(kid=rsa-1)
#
# 注意:不要在这里启用与上面公钥不配对的私钥,否则本地签发的 RS256 token 会验签失败。
# 仅当需要在本地自建认证中心并签发 RS256 时才配置私钥,且公钥必须与它配对。
jwt_rsa_private_key_file =
jwt_rsa_public_key_file = conf/jwt_rsa_public.pem
jwt_rsa_kid = rsa-1
# ==================== 微信公众号(服务号) ====================
# 服务号 AppSecret / EncodingAESKey 入库加密密钥:任意随机串即可,代码内部做 SHA-256 派生。
# 注意:更换该值后,历史已保存的公众号密钥将无法解密,需在「通知设置 → 微信配置」重新保存一次。
wechat_mp_secret_key = 8f3c2a1d94b74e28a6c5f0187d3e9b4c72a5d0e6f13b8c47d92a6e5f0b7c3148
# 微信服务器回调地址基址(默认回落 payment_callback_base):
# wechat_mp_callback_base = https://api.yunzer.cn
# 公众号「登录」一次性链接的页面基址(前端应用对外可访问地址,链接形如 {基址}/#/mp-login?token=xxx):
# 缺省回落 wechat_mp_callback_base / payment_callback_base;本地开发可填 http://127.0.0.1:4401(仅同机可点)
# wechat_mp_login_base = https://back.yunzer.cn
# ==================== 微信小程序注册核验 ====================
# 注册页「微信身份核验」优先用小程序码:网页展示小程序码 → 用户扫码在小程序内确认 →
# 网页继续注册(无需公众号)。小程序未配置或小程序码生成失败时自动回退公众号验证码 / 短信。
# 小程序码指向的页面路径(该页面需在小程序已发布,不带前导 /):
# wechat_mini_register_page = pages/register/confirm
# 小程序码环境:release(正式版,默认)/ trial(体验版)/ develop(开发版,需开发者扫码)
# wechat_mini_register_env = release
wechat_mini_register_env = trial
# ==================== 微信小程序消息推送 ====================
# 消息推送回调地址基址:最终地址 = {基址}/api/wechat/mini/callback,
# 填到小程序后台「开发管理 → 开发设置 → 消息推送」的 URL(必须是 80 / 443 端口、微信可直连)。
# 缺省回落 wechat_mp_callback_base / payment_callback_base;都留空时退化为相对路径
# /api/wechat/mini/callback(需由网关补齐域名)。
wechat_mini_callback_base = https://api.yunzer.cn
# ==================== 支付模块 ====================
# 渠道敏感参数(商户密钥/私钥/Secret)入库加密密钥:任意随机串即可,代码内部做 SHA-256 派生。
# 注意:更换该值后,历史已保存的渠道参数将无法解密,需在各渠道配置页重新保存一次。
payment_secret_key = f656fe85ed6a1caba9f19966d8cdde46114709969bea5875cde7664d4ad9f535
# 渠道异步回调的对外基址:最终回调地址 = {payment_callback_base}/api/payment/callback/{渠道}
# 本地开发收不到渠道回调,留空即可(回调地址退化为相对路径 /api/payment/callback/{渠道},由网关补齐域名)。
payment_callback_base =
# 渠道证书落盘根目录(各渠道目录的父目录,实际路径 = {payment_cert_dir}/{渠道}/xxx.pem)。
# 本地开发如需测试支付证书,填本地绝对路径;否则留空,按进程工作目录下的 certs/payment 处理。
payment_cert_dir =