2016-07-10 12 views
3

Ich habe versucht, für eine Weile, um die IP-Adresse des Clients (mich) mit Koajs; aber ich bekomme immer die lokale Host-Adresse von :: 1Koajs/nodejs bekomme IP-Adresse Anfrage - gibt nur lokale Host-Adresse

Ich habe versucht mit this.request.ip und this.request.headers ['x-forwarded-for'] mit app.proxy auf true gesetzt, immer noch ich Holen Sie sich die willkürliche lokale Host-IP.

Ich brauche die IP-Adresse für die Geolocation-App, die ich erstelle.

Hier ist mein Code:

var koa = require('koa'); 
var app = koa(); 

app.proxy = true; 


app.use(function *(){ 
    this.body = this.request.ip; // also tried request.headers['x-forwarded-for']; 
}); 

app.listen(3000); 
+0

zu ändern Sind Sie dies aus dem gleichen Computer zugreifen, die die Website gehostet wird? Wenn ja, ist es sinnvoll, dass Sie die lokale Hostadresse erhalten. – eandersson

+0

Und woher kommen die Anfragen? Führen Sie den Server und den Client auf demselben Computer aus? –

+0

@eandersson Ja bin ich. Die Zeile 'app.listen (3000)' ermöglicht es mir, die App unter http: // localhost: 3000/auszuführen. Ich möchte nur, dass meine IP-Adresse in der Form xx.xxx.xxx.xx gedruckt wird, während this.body = this.request.ip; prints :: 1 was ist die arbitrary localhost Adresse – user3037589

Antwort

-1

Versuch

this.body = this.req.headers['x-real-ip'];