モジュール ngx_http_geoip_module

設定例
ディレクティブ
     geoip_country
     geoip_city
     geoip_org
     geoip_proxy
     geoip_proxy_recursive

ngx_http_geoip_module モジュール (0.8.6+) は、事前にコンパイルされた MaxMind データベースを使用して、クライアントIPアドレスに基づいて値を持つ変数を生成します。

IPv6対応データベース(1.3.12、1.2.7)を使用する場合、IPv4アドレスはIPv4マップされたIPv6アドレスとして検索されます。

このモジュールはデフォルトではビルドされません。--with-http_geoip_module 設定パラメータを使用して有効にする必要があります。

このモジュールには、MaxMind GeoIP ライブラリが必要です。

設定例

http {
    geoip_country         GeoIP.dat;
    geoip_city            GeoLiteCity.dat;
    geoip_proxy           192.168.100.0/24;
    geoip_proxy           2001:0db8::/32;
    geoip_proxy_recursive on;
    ...

ディレクティブ

構文 geoip_country ファイル;
デフォルト
コンテキスト http

クライアントIPアドレスに基づいて国を決定するために使用するデータベースを指定します。このデータベースを使用する際、以下の変数が使用できます。

$geoip_country_code
2文字の国コード、例:「RU」、「US」。
$geoip_country_code3
3文字の国コード、例:「RUS」、「USA」。
$geoip_country_name
国名、例:「ロシア連邦」、「アメリカ合衆国」。

構文 geoip_city ファイル;
デフォルト
コンテキスト http

クライアントIPアドレスに基づいて国、地域、都市を決定するために使用するデータベースを指定します。このデータベースを使用する際、以下の変数が使用できます。

$geoip_area_code
電話番号エリアコード(米国のみ)。
対応するデータベースフィールドは非推奨であるため、この変数は古い情報を含んでいる可能性があります。
$geoip_city_continent_code
2文字の大陸コード、例:「EU」、「NA」。
$geoip_city_country_code
2文字の国コード、例:「RU」、「US」。
$geoip_city_country_code3
3文字の国コード、例:「RUS」、「USA」。
$geoip_city_country_name
国名、例:「ロシア連邦」、「アメリカ合衆国」。
$geoip_dma_code
Google AdWords APIのジオターゲティングに従った、米国のDMA地域コード(「メトロコード」とも呼ばれます)。
$geoip_latitude
緯度。
$geoip_longitude
経度。
$geoip_region
2文字の国地域コード(地域、準州、州、県、連邦領など)、例:「48」、「DC」。
$geoip_region_name
国地域名(地域、準州、州、県、連邦領など)、例:「モスクワ市」、「コロンビア特別区」。
$geoip_city
都市名、例:「モスクワ」、「ワシントン」。
$geoip_postal_code
郵便番号。

構文 geoip_org ファイル;
デフォルト
コンテキスト http

このディレクティブはバージョン1.0.3で追加されました。

クライアントIPアドレスに基づいて組織を決定するために使用するデータベースを指定します。このデータベースを使用する際、以下の変数が使用できます。

$geoip_org
組織名、例:「メルボルン大学」。

構文 geoip_proxy アドレス | CIDR;
デフォルト
コンテキスト http

このディレクティブはバージョン1.3.0と1.2.1で追加されました。

信頼できるアドレスを定義します。信頼できるアドレスからのリクエストの場合、「X-Forwarded-For」リクエストヘッダーフィールドのアドレスが代わりに使用されます。

構文 geoip_proxy_recursive on | off;
デフォルト
geoip_proxy_recursive off;
コンテキスト http

このディレクティブはバージョン1.3.0と1.2.1で追加されました。

再帰検索が無効になっている場合、「X-Forwarded-For」に送信された最後のアドレスではなく、信頼できるアドレスのいずれかと一致する元のクライアントアドレスが使用されます。再帰検索が有効になっている場合、「X-Forwarded-For」に送信された最後の非信頼アドレスではなく、信頼できるアドレスのいずれかと一致する元のクライアントアドレスが使用されます。