docs: 记录 MySQL 全网连接例外 (#129)

This commit is contained in:
chengma
2026-08-11 09:14:47 +08:00
parent faf7a5c83a
commit 4ede126f58
5 changed files with 88 additions and 13 deletions
+5 -4
View File
@@ -27,10 +27,11 @@
- 固定使用 **Go + Gin + Go 标准库 `html/template`**。
- 生产数据库固定 **MySQL 8.4**,驱动固定
`github.com/go-sql-driver/mysql` **v1.9.2**(纯 Go,兼容 Go 1.23)。
- Admin 默认与 MySQL 同机或走私有网络;生产默认连接 `127.0.0.1:3307`,
不得把 MySQL 端口向全网开放。项目负责人明确批准公网直连时,只允许固定 `/32`
来源白名单,并同时满足:公网接口其余来源 DROP、账号按来源 IP 创建、最小库权限、
`REQUIRE SSL`、root 仍仅限本机。公网 IP 变化时先更新白名单,不得临时改成 `%`。
- Admin 默认与 MySQL 同机或走私有网络;生产默认连接 `127.0.0.1:3307`。
项目负责人已于 2026-08-11 明确批准生产 MySQL 3307 接受所有公网来源,公网业务账号
可以使用 `%`,但必须同时满足:只开放专用业务账号、权限仅限 `autobuy`、
`REQUIRE SSL`、Admin 使用 `verify_ca`,且 root 仍仅限本机。不得把这项例外扩展到
root、其他数据库或关闭 TLS;恢复固定公网 IP 后应优先收回到 `/32` 白名单。
- Admin 公网连接必须使用 `database.tls_mode: verify_ca` 和服务器公开 CA:要求
TLS 1.2+、验证证书链、禁止回退明文。`disabled` 只允许同机或 SSH 隧道连接;
不得使用驱动的 `preferred` 或单纯 `skip-verify`。