Files
nxxmdata/government-backend/nginx-config-test.md

78 lines
2.2 KiB
Markdown
Raw Normal View History

2025-10-17 17:29:11 +08:00
# Nginx配置测试说明
## 问题描述
- 登录接口:`/api/government/auth/login` ✅ 正常
- 其他接口:`/api/government/departments` ❌ 报错
- 错误URL`/api/government/government/departments` (路径重复)
## 当前nginx配置分析
### Server块1: ad.ningmuyun.com (HTTPS 443)
```nginx
# 静态文件服务
location ^~ /government/ {
alias /data/vue/ningmuyun/government/dist/;
# 处理前端静态文件
}
# 认证API代理 (优先级最高)
location ^~ /api/government/auth/ {
proxy_pass http://localhost:5352/api/auth/;
# 处理登录等认证接口
}
# 其他API代理 (优先级较低)
location ^~ /api/government/ {
proxy_pass http://localhost:5352/api/government/;
# 处理其他政府API接口
}
```
## 路径映射测试
| 请求路径 | 匹配规则 | 代理目标 | 预期结果 |
|---------|---------|---------|---------|
| `/api/government/auth/login` | `^~ /api/government/auth/` | `/api/auth/login` | ✅ 正常 |
| `/api/government/departments` | `^~ /api/government/` | `/api/government/departments` | ✅ 应该正常 |
| `/api/government/government/departments` | 无匹配 | 404 | ❌ 不应该出现 |
## 可能的问题原因
1. **前端请求路径错误**:前端可能错误地构造了重复路径
2. **nginx重写规则**可能有隐藏的rewrite规则导致路径重复
3. **代理配置问题**proxy_pass的路径处理可能有问题
## 测试步骤
1. 运行诊断脚本:
```bash
node diagnose-url-issue.js
```
2. 检查nginx错误日志
```bash
sudo tail -f /var/log/nginx/error.log
```
3. 检查nginx访问日志
```bash
sudo tail -f /var/log/nginx/ad.ningmuyun.com.access.log
```
## 修复建议
如果确认是nginx配置问题可能需要
1. 调整location规则的顺序
2. 添加更具体的路径匹配规则
3. 检查是否有隐藏的rewrite规则
4. 验证proxy_pass的路径处理
## 验证方法
修复后以下URL应该正常工作
-`https://ad.ningmuyun.com/api/government/auth/login`
-`https://ad.ningmuyun.com/api/government/departments`
-`https://ad.ningmuyun.com/api/government/market-price`
-`https://ad.ningmuyun.com/api/government/government/departments` (不应该存在)