簡體   English   中英

公司代理后面的create-react-app代理api請求

[英]create-react-app proxy api requests behind a corp proxy

這是我的情況

我正在公司防火牆后面創建一個react應用程序。 我的api服務器在其他位置遠程運行。 如何在package.json中設置代理,以便可以通過corp代理訪問api服務器?

到目前為止,我嘗試過的配置是這樣的:

"proxy" : { 
     "/api/" : {
          "target" : "http://****myapiserver.com",
          "changeOrigin" : true,
          "agent" : {
              "host" : "pathtoproxy.com",
              "port" : 80
           }
      }
 }

我也嘗試了其他幾種組合,但沒有任何運氣。 我有什么想念的嗎?

另外,我的npm已配置,因此具有http和https代理設置。

好的,我通過編寫自定義代理解決了這個問題-現在我有3個代理。

  1. React Proxy-當瀏覽器調用api時將被點擊。
  2. 我的自定義代理將請求從React應用的代理“傳遞”到公司代理。
  3. CORP代理,這使我可以訪問要命中的api服務器。

     // React App's package.json - runs on port 3000 "proxy" : "http://localhost:3001" // myproxy.js - runs on port 3001 var express = require('express') var request = require('request') const app = express(); var serverRequest = request.defaults({'proxy':'http://path2.corp.proxy.com:port'}) app.all('/', (req, res) => { let url = "http://myserver.com/api" + req.url req.pipe(serverRequest(url)).pipe(resp) ); app.listen(3001); 

一旦有了這個,我就將我的自定義代理啟動為node proxy.js然后啟動我的react應用,一切運行良好,我可以訪問api服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM