const axios = require('axios'); // 诊断URL重复问题 async function diagnoseURLIssue() { console.log('🔍 诊断政府端API URL重复问题...\n'); const testURLs = [ { name: '正确的部门接口URL', url: 'https://ad.ningmuyun.com/api/government/departments', description: '应该是正确的API路径' }, { name: '错误的重复URL', url: 'https://ad.ningmuyun.com/api/government/government/departments', description: '您提到的重复路径问题' }, { name: '静态文件路径测试', url: 'https://ad.ningmuyun.com/government/', description: '测试静态文件路径是否正常' } ]; for (const test of testURLs) { console.log(`📋 ${test.name}`); console.log(` URL: ${test.url}`); console.log(` 说明: ${test.description}`); try { const response = await axios.get(test.url, { timeout: 10000, validateStatus: function (status) { return status < 500; // 接受所有小于500的状态码 } }); console.log(` ✅ 状态码: ${response.status}`); console.log(` ✅ 响应类型: ${response.headers['content-type']}`); if (response.status === 200) { if (response.headers['content-type']?.includes('application/json')) { console.log(` ✅ 返回JSON数据: ${JSON.stringify(response.data).substring(0, 100)}...`); } else { console.log(` ✅ 返回HTML内容 (可能是静态文件)`); } } else if (response.status === 404) { console.log(` ❌ 404错误: 路径不存在`); } else if (response.status === 401) { console.log(` ✅ 401错误: 需要认证 (API接口正常)`); } } catch (error) { if (error.response) { console.log(` ❌ 状态码: ${error.response.status}`); console.log(` ❌ 错误: ${error.response.statusText}`); } else { console.log(` ❌ 网络错误: ${error.message}`); } } console.log(' ' + '─'.repeat(60)); console.log(''); } console.log('🎯 诊断完成!'); console.log(''); console.log('📝 分析结果:'); console.log(' - 如果正确的URL返回404,说明nginx配置有问题'); console.log(' - 如果错误的URL也能访问,说明有路径重写问题'); console.log(' - 如果静态文件路径正常,说明nginx基本配置正确'); } // 运行诊断 diagnoseURLIssue().catch(console.error);