清理已关停测试服务器记录
This commit is contained in:
parent
ccc25629c2
commit
3f5085e740
@ -1419,14 +1419,14 @@ NAS 私有化系统可能在平板或窄屏浏览器里使用。模板编辑器
|
||||
证据:
|
||||
|
||||
- 浏览器验证时,`/api/admin/users?pageSize=1000` 和 `/api/departments` 曾返回 500,`/api/system-settings` 走了兜底或缓存。
|
||||
- Node/Prisma 直接查询时复现 `Can't reach database server at 45.249.208.118:5432`。
|
||||
- Node/Prisma 直接查询时曾复现“连接不到旧公网测试数据库”的错误,根因是本地环境文件还残留已关停测试服务器地址。
|
||||
- 重启 dev 服务后,启动日志显示加载 `.env.development.local, .env.local, .env`,浏览器内重新请求 `/api/admin/users?pageSize=1000`、`/api/departments`、`/api/system-settings` 均返回 200。
|
||||
- `docs/当前工作流.md` 已补充本地调试前检查实际环境文件和旧服务器地址的说明。
|
||||
|
||||
建议动作:
|
||||
|
||||
- 保持本地调试优先使用 `.env.development.local` 的本机数据库和本机对象存储。
|
||||
- 旧测试服务器 `45.249.208.118:4320` 不再作为当前项目事实来源。
|
||||
- 已关停的旧公网测试服务器不再作为当前项目事实来源。
|
||||
- 如果后续仍需要保留 `.env.local` 或 `.env` 中的旧值,只能作为本机私有临时文件,不能写进 Git 或交付文档。
|
||||
|
||||
2026-05-28 继续推进:
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
本地调试前要确认实际加载的环境文件。Next.js 开发模式通常会加载 `.env.development.local`、`.env.local` 和 `.env`;如果 `.env.local` 或 `.env` 里还残留旧服务器地址,后台用户、部门、系统设置等接口会连到错误数据库并返回 500。
|
||||
|
||||
当前已确认旧测试服务器 `45.249.208.118:4320` 不再作为项目事实来源。本地开发应优先使用本机测试数据库和对象存储,例如 `.env.development.local` 中的 `localhost:15432` 与 `localhost:19000`。如发现后台接口持续 500,先核对 dev 服务启动日志里的 `Environments:` 和当前 `DATABASE_URL` 指向,不要直接按旧远程环境排查。
|
||||
当前已确认已关停的旧公网测试服务器不再作为项目事实来源。本地开发应优先使用本机测试数据库和对象存储,例如 `.env.development.local` 中的 `localhost:15432` 与 `localhost:19000`。如发现后台接口持续 500,先核对 dev 服务启动日志里的 `Environments:` 和当前 `DATABASE_URL` 指向,不要直接按旧远程环境排查。
|
||||
|
||||
Prisma 命令和 Next.js 开发服务的环境加载方式不同。直接运行 `npx prisma ...` 或 `npm run prisma:*` 时,Prisma 会优先读取根目录 `.env`;如果 `.env` 还是旧服务器地址,就会误连废弃环境。本机开发需要操作数据库时,优先使用下面的 `prisma:dev:*` 命令,它会显式读取 `.env.development.local`,并拒绝连接非本机数据库。
|
||||
|
||||
|
||||
@ -21,7 +21,6 @@ describe('scripts/docker-entrypoint.sh', () => {
|
||||
expect(entrypoint).toContain('require_real_env "LICENSE_PUBLIC_KEY"')
|
||||
expect(entrypoint).toContain('require_real_env "LOCAL_ENCRYPTION_KEY"')
|
||||
expect(entrypoint).toContain('require_real_env "S3_PUBLIC_DOMAIN"')
|
||||
expect(entrypoint).toContain('45.249.208.118')
|
||||
expect(entrypoint).toContain('postgresql://username:password@host:5432/database')
|
||||
expect(entrypoint).toContain('npx prisma migrate deploy')
|
||||
expect(entrypoint).toContain('数据库迁移失败')
|
||||
@ -29,6 +28,10 @@ describe('scripts/docker-entrypoint.sh', () => {
|
||||
expect(entrypoint).not.toContain('数据库迁移失败,尝试继续启动')
|
||||
})
|
||||
|
||||
it('启动脚本不能内置固定公网 IP 地址', () => {
|
||||
expect(entrypoint).not.toMatch(/\b\d{1,3}(?:\.\d{1,3}){3}\b/)
|
||||
})
|
||||
|
||||
it('生产占位环境变量必须在连接数据库前被拦截', () => {
|
||||
if (process.platform !== 'linux') {
|
||||
return
|
||||
|
||||
@ -13,7 +13,7 @@ set -e
|
||||
is_placeholder_value() {
|
||||
value="$1"
|
||||
case "$value" in
|
||||
""|replace-with-*|your-*|*example.com*|*x.x*|*45.249.208.118*|*"<"*">"*|postgresql://username:password@host:5432/database)
|
||||
""|replace-with-*|your-*|*example.com*|*x.x*|*"<"*">"*|postgresql://username:password@host:5432/database)
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user