google-app-engine – java.io.IOException:从网络服务器调用时,无法检索状态为404的API配置

所以我有一个appengine webapp,其中包括在端口8888上本地部署的云端点.

标题中的错误消息在我们的webpack-dev-server启动时发生,它在端口3000上运行,并将所有以/ _ah / api / *开头的请求代理到http:// localhost:8888.确切的控制台错误如下:

《google-app-engine – java.io.IOException:从网络服务器调用时,无法检索状态为404的API配置》

奇怪的是,当我在另一个选项卡中打开此URL并将端口切换到8888时,请求就会通过,并且webpack-dev-server也可以从那时起将请求代理到后端.

我在此阅读的大多数其他问题建议将grang中的appengine配置设置为以下内容:

httpPort = 8888
httpAddress = "0.0.0.0";

但是我已经这样做了,所以这似乎不是问题.

我的相关webpack配置如下:

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
    }
}

如果这不起作用,代理路径(/ _ah / api /)是否需要包含在请求中?如果忽略路径有效,你可以尝试:

proxy: {
    '/_ah/api/*': {
        target: 'http://localhost:8888/',
        ignorePath: true
    }
}

如果这不起作用,我会尝试删除代理路径的最后一部分:/ _ah / api / *到/ _ah / api.这应该做同样的事情,但第一个被弃用.

点赞