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」。