【问题标题】:Node http-proxy not working behind proxy节点 http-proxy 不在代理后面工作
【发布时间】: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"

不幸的是,我只会超时。在没有代理的环境中运行节点脚本时,它会按预期工作。

我的配置错了吗?

【问题讨论】:

标签: javascript node.js http-proxy


【解决方案1】:

感谢chimurai this 了解如何通过agent 字段通过公司代理进行连接。

var HttpsProxyAgent = require('https-proxy-agent');
var proxy = require("http-proxy-middleware");

// corporate proxy to connect to via environment variables
var proxyServer = process.env.HTTPS_PROXY ||
                  process.env.HTTP_PROXY;

var options = {
    target: 'http://localhost:3000',//Proxy url
    agent: new HttpsProxyAgent(proxyServer)//The actual corporate proxy sever 
};

var apiProxy = proxy('/api', options);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 2021-04-08
    • 2014-03-04
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    相关资源
    最近更新 更多