2017-07-02 65 views
0

这个话题,据我所知是相当新鲜和相关的。 告诉我我的错误在哪里?在后端请求中配置自定义标头的Angular-cli代理?

所以,我所做的一切,如文档中:

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

角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启动

这里IST启动日志:

> 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的令牌

我也看了这个话题。

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

什么想法?谢谢。

回答

1

重新发布我在其他问题中发布的答案。

我不得不根据上面的答案做一个小调整,尽管现在看起来有点奇怪。

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

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

基本上,我完全重写的路径。现在它起作用了。

+0

根据我们对另一个问题的讨论,你能告诉我你想要添加什么标题吗? –

相关问题