执行npm run serve时出现代理请求失败(ENOTFOUND)问题求助
解决方案
这个错误是ENOTFOUND,本质是本地无法解析mevn-api这个主机名,导致请求无法转发到后端服务。按以下步骤排查解决:
- 确认后端服务状态:先检查
http://mevn-api:3080对应的后端服务是否已经启动,端口3080是否正常监听。如果后端没运行,先启动后端服务。 - 替换主机名为实际IP/localhost:把前端代理配置里的目标地址
http://mevn-api:3080改成http://localhost:3080(后端在本地)或者后端服务的实际IP地址(比如http://192.168.1.100:3080)。 - 配置本地hosts映射(可选):如果必须使用
mevn-api作为主机名,修改本地hosts文件,添加一行映射:
Windows路径:127.0.0.1 mevn-apiC:\Windows\System32\drivers\etc\hosts;Linux/macOS路径:/etc/hosts,修改后保存(需要管理员权限)。 - 核对代理配置:检查前端项目的代理配置文件(比如Vue的
vue.config.js、React的setupProxy.js),确保目标地址拼写正确,changeOrigin等参数配置无误。示例配置(Vue):module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:3080', changeOrigin: true, pathRewrite: { '^/api': '' } } } } } - Docker环境额外检查:如果后端在Docker容器中,确认容器端口已正确映射到主机(运行容器时加
-p 3080:3080),且容器和前端处于同一网络,容器名mevn-api能被正常解析。
内容的提问来源于stack exchange,提问作者stepan11
相关产品推荐
相关产品推荐

