java.io.IOException:从webserver调用时,无法检索状态为404的API配置

时间:2016-10-04 19:57:37

标签: google-app-engine webpack google-cloud-endpoints webpack-dev-server

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

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

enter image description here

奇怪的是,当我在另一个选项卡中打开此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/'
    }
  }
});

1 个答案:

答案 0 :(得分:2)

如果没有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。这应该做同样的事情,但第一个被弃用。