2017-02-17 7 views
0

私は2つのWebサーバーを持っていますが、WebサーバーAはWebサーバーBからデータを要求する必要があり、ユーザーのIPアドレスを送信する必要があります。しかし、サーバ上でfile_get_contents()と呼ぶと、BはユーザではなくサーバAのIPアドレスを検出します。 2番目のオプションは、クエリ文字列にIPアドレスを渡すことですが、サーバBのnginxはgeoipモジュールでコンパイルされており、変数$_SERVER['COUNTRY_CODE']の国コードが見つかります。ユーザーのIPアドレスを別のWebサーバーに渡す

私の質問は、リクエストでCURLを使用してサーバーAからサーバーBにユーザーのIPアドレスを渡す方法はありますか?おそらく私はいくつかのヘッダーを設定する必要があり、そのヘッダーはgeoipモジュールによって考慮されるでしょうか?サーバーA上の

+0

HTTPヘッダーとしてIPを渡します。たとえば、http://serverfault.com/questions/331079/haproxy-and-forwarding-client-ip-address-to-servers –

+0

'X-Forwarded-For:{IP}'をサーバBに転送し、サーバB上でNginxのRealIPモジュールを使用します。http://nginx.org/ja/docs/http/ngx_http_realip_module.html –

答えて

0

使用これを:

curl www.domain.tld --header "X-Forwarded-For: xxx.xxx.xxx.xxx" 

あなたは、サーバーBにX-Forwarded-Forを検証することを指示する必要があるかもしれない、あなたのアプリケーションに応じてサーバA

xxx.xxx.xxx.xxxとクライアントIPを交換する必要があります

関連する問題