Google app engine java.io.IOException:从Web服务器调用时检索状态为404的API配置失败
因此,我有一个appengine webapp,其中包括部署在8888端口本地的云端点 标题中的错误消息出现在我们的启动时,它运行在端口3000上,并将所有以Google app engine java.io.IOException:从Web服务器调用时检索状态为404的API配置失败,google-app-engine,webpack,google-cloud-endpoints,webpack-dev-server,Google App Engine,Webpack,Google Cloud Endpoints,Webpack Dev Server,因此,我有一个appengine webapp,其中包括部署在8888端口本地的云端点 标题中的错误消息出现在我们的启动时,它运行在端口3000上,并将所有以/\u ah/api/*开始的请求代理到http://localhost:8888。确切的控制台错误如下所示: module.exports = webpackMerge(commonConfig, { ... output: { ... publicPath: 'http://localhost:3000/'
/\u ah/api/*
开始的请求代理到http://localhost:8888
。确切的控制台错误如下所示:
module.exports = webpackMerge(commonConfig, {
...
output: {
...
publicPath: 'http://localhost:3000/'
},
devServer: {
port: 3000,
open: true,
proxy: {
'/_ah/api/*': 'http://localhost:8888/'
}
}
});
奇怪的是,当我在另一个选项卡中打开此url并将端口切换到8888时,请求就会通过,从那时起,webpack dev服务器还可以将请求代理到后端
我读到的大多数其他问题都建议将gradle中的appengine配置设置为:
httpPort = 8888
httpAddress = "0.0.0.0";
然而,我已经这样做了,所以这似乎不是问题所在
我的相关网页配置如下:
module.exports = webpackMerge(commonConfig, {
...
output: {
...
publicPath: 'http://localhost:3000/'
},
devServer: {
port: 3000,
open: true,
proxy: {
'/_ah/api/*': 'http://localhost:8888/'
}
}
});
如果没有
changeOrigin:true
,某些后端无法正常工作。您可以这样使用它:
proxy: {
'/_ah/api/*': {
target: 'http://localhost:8888/',
changeOrigin: true,
secure: false
}
}
如果这不起作用,那么请求中是否需要包含代理路径(/\u ah/api/
)?如果忽略路径有效,您可以尝试:
proxy: {
'/_ah/api/*': {
target: 'http://localhost:8888/',
ignorePath: true
}
}
如果这不起作用,我会尝试删除代理路径的最后一部分:
/\u ah/api/*
到/\u ah/api
。这也应该如此,但第一个已被弃用。干杯!使用changeOrigin
有效,甚至不需要secure:false
,一旦我能够,我会给你奖金