Nuxt3配置服务端代理失败请求404,如何解决?
Nuxt3 服务端代理配置解决方案
针对你遇到的代理配置无效、请求返回404的问题,可以按以下步骤排查和修复:
1. 确认后端接口可用性
先直接访问 http://39.98.58.238:8594/v1/xxx,确认后端接口本身能正常返回数据,排除后端服务故障或路径错误的问题。
2. 修正 Nitro DevProxy 配置
你的第二次配置缺少路径重写规则,导致转发到后端的路径包含 /api 前缀,后端无法识别。修改 nuxt.config.js 如下:
export default defineNuxtConfig({ nitro: { devProxy: { '/api': { target: 'http://39.98.58.238:8594', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } } })
- 路径匹配用
/api而非/api/,确保能匹配所有以/api开头的请求 rewrite规则会把请求路径中的/api前缀移除,比如/api/v1/xxx会被转发为http://39.98.58.238:8594/v1/xxx
3. 重启开发服务器
修改 nuxt.config.js 后必须重启 Nuxt 开发服务,否则新配置不会生效。
4. 排查本地路由冲突
检查项目根目录下的 server/api 文件夹,如果存在与 /api/v1 同名的路由文件(比如 server/api/v1/xxx.ts),Nuxt 会优先匹配本地路由,导致代理规则失效。若有冲突,需重命名本地路由或调整代理前缀。
5. 验证请求
保持页面代码不变,点击按钮发起请求,此时应该能正确转发到后端服务器并返回数据。
内容的提问来源于stack exchange,提问作者kant
相关产品推荐
相关产品推荐

