2017-11-06 13 views
1

localhostから送信されたリクエストをリモートサーバーに渡したい場合は、プロキシを使用してリモートサーバーに渡す必要はありません。 http://localhost:8000/api/Lists/GetCarListは私がng serve --proxy-config proxy.conf.json --port 8000Angular CLIでプロキシを使用してリダイレクトせずにHTTPポストリクエストをリダイレクトする

私proxy.conf.jsonファイル

{ 
    "/coreapi/*": { 
     "target": "https://other-site.ru", 
     "secure": false, 
     "pathRewrite": { 
     "^/": "" 
     }, 
     "changeOrigin": true 
    } 
    } 

で私のアプリを実行していますhttps://other-site.ru/api/Lists/GetCarList として解決されるだろう。しかし、私の溶液を用いて、要求がまだhttp://localhost:8000/api/Lists/GetCarList

として送信されるように、私のリクエスト

var headers = new Headers(); 
headers.append('Authorization', 'Bearer ' + 
this.oauthService.getAccessToken());  
headers.append('Content-Type', 'application/json;charset=UTF-8');          
let options = new RequestOptions({headers: headers}); 
return this.http.post('/coreapi/UserService/GetUserServersList', {}, options) 
.toPromise().then((response: Response)=>{ 
    var resp = response; 
    }, 
    err =>{ 
    console.log("err"); 
    }) 

これを修正すると、/coreapi/**への相対的な要求はhttps://other-site.ru/coreapi/**に集められますか?

答えて

0

これを試してみてください。

"pathRewrite": {"^/coreapi" : "https://other-site.ru/coreapi"} 
+0

まだ 'POST http:// localhost:8000/api/Lists/GetCarList 404(見つかりませんでした)'を取得しています –

+0

try; "pathRewrite":{"^/coreapi": "https://other-site.ru/coreapi"} –

+0

回答を更新しました –

0

は、事を問題を修正しましたが、私はNGの取り出しを実行し、ファイル"devServer": { "historyApiFallback": true, "watchOptions": { "aggregateTimeout": 300, "poll": 1000 }, "headers": { "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS", "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization" } } webpack.config.js生成にCORSを有効にしなければならなかったことでした。

関連する問題