所以我有一个appengine webapp,其中包括在端口8888上本地部署的云端点。
标题中的错误消息出现在我们的webpack-dev-server启动时,它在端口3000上运行,并代理以/_ah/api/*
到http://localhost:8888
开头的所有请求。确切的控制台错误如下:
奇怪的是,当我在另一个选项卡中打开此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/'
}
}
});
答案 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
。这应该做同样的事情,但第一个被弃用。