モジュール ngx_stream_geoip_module

構成例
ディレクティブ
     geoip_country
     geoip_city
     geoip_org

ngx_stream_geoip_moduleモジュール(1.11.3)は、プリコンパイルされたMaxMindデータベースを使用して、クライアントのIPアドレスに応じて値を持つ変数を作成します。

IPv6に対応したデータベースを使用する場合、IPv4アドレスはIPv4マッピングされたIPv6アドレスとして検索されます。

このモジュールは、デフォルトではビルドされていません。--with-stream_geoip_module構成パラメータで有効にする必要があります。

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

構成例

stream {
    geoip_country         GeoIP.dat;
    geoip_city            GeoLiteCity.dat;

    map $geoip_city_continent_code $nearest_server {
        default        example.com;
        EU          eu.example.com;
        NA          na.example.com;
        AS          as.example.com;
    }
   ...
}

ディレクティブ

構文 geoip_country file;
デフォルト
コンテキスト ストリーム

クライアントのIPアドレスに応じて国を決定するために使用されるデータベースを指定します。このデータベースを使用する場合、次の変数を使用できます

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

構文 geoip_city file;
デフォルト
コンテキスト ストリーム

クライアントの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 file;
デフォルト
コンテキスト ストリーム

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

$geoip_org
例えば、"The University of Melbourne"のような組織名です。