モジュール 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 |
---|---|
デフォルト | — |
コンテキスト |
ストリーム |
クライアントのIPアドレスに応じて国を決定するために使用されるデータベースを指定します。このデータベースを使用する場合、次の変数を使用できます
$geoip_country_code
- 2文字の国コード、たとえば「
RU
」、「US
」。 $geoip_country_code3
- 3文字の国コード、たとえば「
RUS
」、「USA
」。 $geoip_country_name
- 国名、たとえば「
ロシア連邦
」、「アメリカ合衆国
」。
構文 |
geoip_city |
---|---|
デフォルト | — |
コンテキスト |
ストリーム |
クライアントの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 |
---|---|
デフォルト | — |
コンテキスト |
ストリーム |
クライアントIPアドレスによって組織を判断するために使用する、データベースを指定します。このデータベース使用時に以下の変数が使用できます。
$geoip_org
- 例えば、"The University of Melbourne"のような組織名です。