在koajs

时间:2017-09-14 15:10:25

标签: node.js iis koa

我的my.origin1/myendpoint端点重定向到另一个端点:

router.get('/myendpoint', {
  var param = this.query.myParam;
  this.redirect(`http://my.origin2/myotherendpoint?param=${param}`);
  console.log(JSON.stringify(this.request.header,undefined,2));
})

控制台日志输出显示:

{
  "location": "http://my.origin2/myotherendpoint?param=myParamValue",
  "content-type": "text/html; charset=utf-8",
  "content-length": "whatever"
}

但是,重定向请求获得了404,当我在fiddler中观察它时,我看到位置标题为my.origin1/myotherendpoint?param=myParamValue。可能导致这种情况的原因是什么?

我已经浏览了代码并且没有任何中间件拦截请求,我还检查了我们的IIS设置,并且没有可能影响此功能的网址重定向。

1 个答案:

答案 0 :(得分:0)

找到了解决方案。

IIS需要将代理设置reverseRewriteHostInResponseHeaders设置为false