Получить IP-адрес из запроса в Http-сервере - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть код для получения IP-адреса и баланса нагрузки следующим образом:

var httpProxy = require("http-proxy");
var http = require('http');
var where=require('node-where');    
var proxy = httpProxy.createProxyServer({});
var server=http.createServer( function (req, res){
    console.log(req.headers['x-forwarded-for'] || req.connection.remoteAddress);

    var country,state
    where.is(req.connection.remoteAddress, function (err, result) {
        console.log(result);
        country=result.get('countryCode');
        // state=result.get('regionCode');
        if(country!='US')
        {
            proxy.web(req, res, {target: "http://localhost:3000"}, function (e){
                proxy.web(req, res, {target: "http://localhost:3001"});
            });
        }
        else
        {
            proxy.web(req, res, {target: "localhost:3001"}, function (e){
                proxy.web(req, res, {target: "localhost:3000"});
            });
        }
    });
});

server.listen(80);

однако, консольный журнал возвращает только ::1. IP-адрес не отображается в запросе.

Как я могу получить IP-адрес устройства, обращающегося к веб-сайту, чтобы я мог балансировать нагрузку в зависимости от страны, в которой находится IP-адрес?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...