Google app engine java.io.IOException:从Web服务器调用时检索状态为404的API配置失败

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/'

因此,我有一个appengine webapp,其中包括部署在8888端口本地的云端点

标题中的错误消息出现在我们的启动时,它运行在端口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
,一旦我能够,我会给你奖金