配置了代理后接口仍然 404,网络面板里请求地址还是本地开发服务器。日志里能对上时间点,这种反而好排。
代理规则只匹配了特定前缀,请求路径与规则不一致。这一点先确认清楚,后面就不用反复试。
proxy: {
'/api': {
target: 'http://127.0.0.1:8080',
changeOrigin: true,
pathRewrite: {'^/api': ''}
}
}
「前端代理配置」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。
别只看报错的最后一行,往上看几行,真正的起因通常在上面。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。改完隔一天再看一次,当场正常不代表能稳住。
处理上按这个顺序:核对匹配前缀与重写规则;代理目标带协议和端口;改完重启开发服务。
结果对不对很好判断,接口请求被转发到后端,返回数据正常,控制台无 404。