【发布时间】:2017-01-24 16:03:36
【问题描述】:
我正在使用http-proxy-middleware 模块,它是一个快速中间件。中间件模块依赖于http-proxy。节点主机在代理后面运行。 我想将某些路由转发到不同的服务(出于测试目的,我们假设 httpbin.org)。所以我将代理定义如下。
var proxy = require('http-proxy-middleware');
var aeProxy = proxy({
target: 'http://httpbin.org',
changeOrigin: true,
pathRewrite: {
'^/api/ae':'/get'
}
});
app.use('/api/ae', proxy);
我还设置了相应的环境变量(来自调试控制台):
process.env.HTTP_PROXY
> "http://proxy:8080"
process.env.HTTPS_PROXY
> "http://proxy:8080"
不幸的是,我只会超时。在没有代理的环境中运行节点脚本时,它会按预期工作。
我的配置错了吗?
【问题讨论】:
-
你必须设置 ENV 变量 http_proxy = 'proxy.example.com:3129';
-
抱歉,忘记添加我已经设置了那些环境变量。向同一个 URL 发出请求(使用请求模块)甚至可以正常工作。
标签: javascript node.js http-proxy