Angular CLI代理服务器将响应404更改为200

时间:2018-07-02 13:26:04

标签: angular playframework proxy angular-cli

我已启用Angular / CLI代理以将我的请求代理到其余服务器(端口9000上的PlayFramework)。我用

启动代理服务器
ng serve --open --proxy-config src/proxy.conf.js --host 0.0.0.0

这是配置

const PROXY_CONFIG = {
  "**": {
    "target": "http://localhost:9000",
    "secure": false,
    "changeOrigin": true,
    "logLevel": "debug",
    "bypass": function (req) {
      if (req.headers.accept.indexOf("html") !== -1) {
        console.log("Skipping proxy for browser request.");
        return "/index.html";
      }
    }
  }
};

module.exports = PROXY_CONFIG;

我无法从Play服务器获得404答复,但对于未知路线,我一直能获得OK 200。重要的是要获得404,因为如果用户无权获得某条路线,则PlayServer会以404进行响应。使用Postman时,看起来像这样 运行时

http://localhost:9000/api/secured

我得到404,就可以了

运行时

http://localhost:4200/api/secured

我得到200,并且它可以返回本地路线

1 个答案:

答案 0 :(得分:0)

好的,所以我弄清楚了,我的错。我在安全性方面拥有

  private def onUnauthorized(request: RequestHeader) = Results.Redirect(routes.FrontendController.index())

  /**
    * Action for authenticated users.
    */
  def IsAuthenticated(f: => User => Request[AnyContent] => Result) = Security.Authenticated(username , onUnauthorized) { username =>

那是重定向:(