在NodeJS中使用Proxy with Express middelware

时间:2016-05-27 23:30:11

标签: node.js authentication reverse-proxy http-proxy

我在私人网络中有不同的服务,这些服务无法从外面访问(externe)。

我希望某些用户可以访问我的服务,并且在身份验证过程之后(对于本部分我使用快递)。

一旦用户被认证,它将接近正确的服务,我为此尝试了http代理模块。

enter image description here

问题: 我没有正确使用快速模块的http-proxy,并按照希望解决这个谜。

代码: 我开始做这个

    // Create app with Express
    var express  = require('express');
    var app      = express();

    // Create a proxy server with http-proxy
    var httpProxy = require('http-proxy');
    var proxy = httpProxy.createProxyServer();

    // Create target params (in the local network)
    var serverOne = {target:'ws://172.17.0.3:80',ws:true};

    // The use of proxy to expose the service
    app.all("/app/", function(req, res) {
        console.log('redirecting to Server1');
        proxy.web(req, res, serverOne);
    })

    // The login part
    .get('/login', function(req, res) {
        res.render('login.ejs');
        console.log('Cherche Login');
    })

    app.listen(8080);

结果:

enter image description here

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

尝试更改var serverOne = {target:'ws://172.17.0.3:80',ws:true};

var serverOne = {target:'ws://172.1.0.3:80',ws:true};

同时从服务器104.155.15.204检查,您可以访问172.0.1.x网络

您可以查看http://expressjs.com/fr/api.html以便在express上实现代理。

此致

马克