# NAS上数据库连接问题诊断

## 当前配置

- **数据库地址**: 192.168.0.61:55432
- **数据库名**: njts_acct
- **用户**: njts_app

## 可能的原因

### 1. 网络连接问题

- [ ] 确认NAS是否在同一网络中
- [ ] 检查NAS是否能ping通数据库服务器 (192.168.0.61)
- [ ] 检查防火墙是否允许5432/55432端口访问

### 2. .env 文件缺失或配置不同

- [ ] 确认NAS上有 `.env` 文件
- [ ] 检查NAS上的 `.env` 文件配置是否正确
- [ ] 确认数据库服务器的IP地址在NAS所在网络中仍然有效

### 3. 容器网络问题

- [ ] 如果使用Docker，确保容器网络配置正确
- [ ] 检查容器是否能解析数据库主机名/IP

## 排查命令

### 在NAS上执行以下命令：

```bash
# 1. 测试网络连接
ping 192.168.0.61

# 2. 测试端口连接 (需要 psql 或 telnet)
psql -h 192.168.0.61 -p 55432 -U njts_app -d njts_acct

# 或使用 telnet（如果可用）
telnet 192.168.0.61 55432

# 3. 查看应用日志
docker logs njts_backend

# 4. 检查容器网络
docker network ls
docker network inspect njts_net
```

## 推荐解决方案

### 选项A: 使用主机名而不是IP（推荐）

编辑 `.env` 文件，将IP地址改为主机名：

```
DB_HOST=db-server  # 或具体的主机名
DB_PORT=55432
```

需要确保DNS能解析该主机名。

### 选项B: 确认NAS网络配置

- 检查NAS的IP地址范围是否允许与数据库所在网络通信
- 可能需要调整网络路由或防火墙规则

### 选项C: 数据库服务器地址变化

- 如果数据库服务器的IP地址在NAS访问时不同，需要更新 `.env`
- 例如：可能需要用内网IP或DNS名称

## 立即检查

请告诉我：

1. NAS上是否能访问 192.168.0.61:55432?
2. 应用在NAS上产生的错误日志是什么?
3. 数据库服务器和NAS是否在同一网络中?
