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 |
---|---|
預設 | — |
Context |
stream |
指定用來根據客戶端 IP 位址判斷國家/地區的資料庫。使用此資料庫時,可以使用以下變數:
$geoip_country_code
- 雙字母國家/地區代碼,例如「
RU
」、「US
」。 $geoip_country_code3
- 三字母國家/地區代碼,例如「
RUS
」、「USA
」。 $geoip_country_name
- 國家/地區名稱,例如「
Russian Federation
」、「United States
」。
語法 |
geoip_city |
---|---|
預設 | — |
Context |
stream |
指定用來根據客戶端 IP 位址判斷國家/地區、區域和城市的資料庫。使用此資料庫時,可以使用以下變數:
$geoip_area_code
- 電話區域號碼(僅限美國)。
由於對應的資料庫欄位已棄用,此變數可能包含過時的資訊。
-
$geoip_city_continent_code
- 雙字母洲代碼,例如「
EU
」、「NA
」。 $geoip_city_country_code
- 雙字母國家/地區代碼,例如「
RU
」、「US
」。 $geoip_city_country_code3
- 三字母國家/地區代碼,例如「
RUS
」、「USA
」。 $geoip_city_country_name
- 國家/地區名稱,例如「
Russian Federation
」、「United States
」。 $geoip_dma_code
- 美國的 DMA 區域代碼(也稱為「都會區代碼」),根據 Google AdWords API 中的地理目標設定。
$geoip_latitude
- 緯度。
$geoip_longitude
- 經度。
$geoip_region
- 雙符號國家/地區區域代碼(區域、領土、州、省、聯邦土地等),例如「
48
」、「DC
」。 $geoip_region_name
- 國家/地區區域名稱(區域、領土、州、省、聯邦土地等),例如「
Moscow City
」、「District of Columbia
」。 $geoip_city
- 城市名稱,例如「
Moscow
」、「Washington
」。 $geoip_postal_code
- 郵遞區號。
語法 |
geoip_org |
---|---|
預設 | — |
Context |
stream |
指定用來根據客戶端 IP 位址判斷組織的資料庫。使用此資料庫時,可以使用以下變數:
$geoip_org
- 組織名稱,例如「The University of Melbourne」。