这是我的情况,
我正在公司防火墙后面创建一个React应用。我的api服务器在其他位置远程运行。如何在package.json中设置代理,以便我可以通过corp代理访问api服务器?
到目前为止,我尝试过的配置是这样的:
"proxy" : {
"/api/" : {
"target" : "http://****myapiserver.com",
"changeOrigin" : true,
"agent" : {
"host" : "pathtoproxy.com",
"port" : 80
}
}
}
我也尝试了其他几种组合,但都没有运气。我有什么想念的吗?
此外,我的npm已配置为具有http和https代理设置。
答案 0 :(得分:0)
好的,所以我通过编写一个自定义代理解决了这个问题-现在我有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服务器。