ngx_http_realip_module 模組
範例設定 指令 set_real_ip_from real_ip_header real_ip_recursive 內嵌變數 |
ngx_http_realip_module
模組用於將客戶端位址和可選的連接埠更改為在指定標頭欄位中傳送的位址和連接埠。
此模組預設不建置,應使用 --with-http_realip_module
設定參數啟用。
範例設定
set_real_ip_from 192.168.1.0/24; set_real_ip_from 192.168.2.1; set_real_ip_from 2001:0db8::/32; real_ip_header X-Forwarded-For; real_ip_recursive on;
指令
語法 |
set_real_ip_from |
---|---|
預設值 | — |
內容 |
http 、server 、location |
定義已知會傳送正確替換位址的信任位址。如果指定特殊值 unix:
,則將信任所有 UNIX 網域通訊端。信任位址也可以使用主機名稱指定 (1.13.1)。
從 1.3.0 和 1.2.1 版本開始支援 IPv6 位址。
語法 |
real_ip_header |
---|---|
預設值 |
real_ip_header X-Real-IP; |
內容 |
http 、server 、location |
定義請求標頭欄位,其值將用於取代客戶端位址。
也使用包含可選連接埠的請求標頭欄位值來取代客戶端連接埠 (1.11.0)。位址和連接埠應按照 RFC 3986 指定。
proxy_protocol
參數 (1.5.12) 將客戶端位址變更為來自 PROXY 協定標頭的位址。必須先在 listen 指令中設定 proxy_protocol
參數來啟用 PROXY 協定。
語法 |
real_ip_recursive |
---|---|
預設值 |
real_ip_recursive off; |
內容 |
http 、server 、location |
此指令出現在 1.3.0 和 1.2.1 版本中。
如果停用遞迴搜尋,則符合其中一個信任位址的原始客戶端位址將被 real_ip_header 指令定義的請求標頭欄位中傳送的最後一個位址取代。如果啟用遞迴搜尋,則符合其中一個信任位址的原始客戶端位址將被請求標頭欄位中傳送的最後一個非信任位址取代。
內嵌變數
$realip_remote_addr
- 保留原始客戶端位址 (1.9.7)
$realip_remote_port
- 保留原始客戶端連接埠 (1.11.0)