# 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` (不应该存在)