【问题标题】:Configure Angular-cli proxy for custom headers in request to backend?为后端请求中的自定义标头配置 Angular-cli 代理?
【发布时间】:2017-07-02 15:36:24
【问题描述】:

据我了解,这个话题非常新鲜和相关。 告诉我我的错误在哪里?

所以,我按照文档中的方式做了所有事情:

https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md

Angular-cli 版本:

....
  "devDependencies": {
    "@angular/cli": "1.2.0",
....

创建文件:proxy.conf.json

{
  "/profile/*": {
    "target": "http://localhost:8888",
    "secure": false,
    "pathRewrite": {
      "^/profile": ""
    },
    "changeOrigin": true,
    "logLevel": "debug"
  }
}

我在 package.json 中注册了它

....
  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.conf.json",
....

启动应用如下:npm start

这里是开始日志:

> ng serve --proxy-config proxy.conf.json

** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200 **
 10% building modules 3/3 modules 0 active[HPM] Proxy created: /profile  ->  http://localhost:8888
[HPM] Proxy rewrite rule created: "^/profile" ~> ""
[HPM] Subscribed to http-proxy events:  [ 'error', 'close' ]
Hash: 2f1f9b69df46574b900e
Time: 12544ms
chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 160 kB {4} [initial] [rendered]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 131 kB {3} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 255 kB {4} [initial] [rendered]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 3.79 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.

而且问题肯定不在后端,因为 cors 是在那里配置的。我用 Fiddler 监控我的请求。

现在是这样的:

OPTIONS http://localhost:8888/profile/data/personal HTTP/1.1
Host: localhost:8888
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
x-ijt: c2q0qqq02it9p2jrk3m6ihbs5u
Access-Control-Request-Headers: content-type,x-auth-token
Accept: */*
Referer: http://localhost:4200/
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4

我们正在讨论这个标头:x-auth-token

我也读过这个话题。

angular-cli server - how to proxy API requests to another server?

有什么想法吗?谢谢。

【问题讨论】:

    标签: angular angular-cli


    【解决方案1】:

    重新发布我在另一个问题中发布的答案。

    我不得不根据上面的答案做一个小的调整,虽然现在看配置似乎有点奇怪。

    这是我的 proxy.conf.json 如下所示:

    {
      "/api/*": {
        "target": "https://url.com",
        "secure": false,
        "changeOrigin": true,
        "logLevel": "debug",
        "pathRewrite": {"^/api" : "http://url.com/api"}
      }
    }
    

    基本上,我完全重写了路径。现在可以了。

    【讨论】:

    • 根据我们对另一个问题的讨论,您能告诉我您要添加哪些标题吗?
    • 你没有回答问题
    猜你喜欢
    • 2021-07-17
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 2019-08-21
    • 2017-05-27
    • 1970-01-01
    • 2015-01-15
    相关资源
    最近更新 更多