2016-07-10 4 views
3

私はKoajsを使ってクライアント(私)のIPアドレスを取得しようとしてきました。しかし、私はローカルホストアドレスを取得し続けています::Koajs/nodejs IPアドレス要求を取得する - ローカルホストアドレスのみを返す

私はthis.request.ipとthis.request.headers ['x-forwarded-for']を使って試しましたが、app.proxyがtrueに設定されています。任意のローカルホストipを取得します。

ビルドしているジオロケーションアプリのIPアドレスが必要です。ここで

は私のコードです:

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

に変更しようとしますが、サイトが上のホストされている同じコンピュータからこれをアクセスしていますか?もしそうなら、ローカルホストアドレスを取得していることに意味があります。 – eandersson

+0

リクエストはどこから来ていますか?サーバーとクライアントの両方を同じマシンで実行していますか? –

+0

@eanderssonはい私です。 'app.listen(3000)'行は私がhttp:// localhost:3000上でアプリケーションを実行できるようにします。私はちょうどそれがxx.xxx.xxx.xxという形で私のIPアドレスを表示したいのに対し、this.body = this.request.ip;任意のローカルホストアドレスであるprints :: 1 – user3037589

答えて

-1

this.body = this.req.headers['x-real-ip']; 
関連する問題