## 簡介
在實際的環境中的多數情況下,我們會使用CDN,真實用戶的IP將會被存放在`header`頭中,所以我們需要進行特別的配置以獲取用戶的真實IP地址。
openstar默認是將realip模塊([http_realip_module](http://nginx.org/en/docs/http/ngx_http_realip_module.html))編譯進去的,所以建議直接配置使用該模塊即可。
關于 http_realip_module 的使用可以簡單參考一下
```
set_real_ip_from???192.168.3.0/24;
set_real_ip_from???100.100.0.0/16;
real_ip_header?????X-Real-IP;
real_ip_recursive on;
可以配置的位置:http, server, location
根據自己的情況進行配置
```
另外`openstar`安全網關提供的這個realip模塊是完全基于lua實現,接下來了解一下該模塊是怎么使用的。
## 入口

## 主界面
查看現有配置獲取用戶真實ip的規則

如果使用了 nginx 的 realip 模塊,就可以將`配置獲取用戶真實IP` 開關設置為:關閉
* 配置獲取用戶真實ip開關:該開關是控制是否啟用該模塊
## 添加:

* 域名:配置需要從`header`頭中進行獲取用戶真實ip的域名
該域名一定是完整的域名,不能是正則表達式那種形式的域名!!!
同域名管理中一樣的域名才可以
```
www.bac.com #合法
*.bac.com # 不合法
```
* 規則

第一個參數:匹配的具體內容,可以是字符串、數組、字典
第二個參數:匹配的類型(等于、包含、數組、字典、開頭[擴展]列表、結尾[擴展]列表...)
這里匹配符建議只用(等于、數組、字典、ip段)
第三個參數:是否取反的標記(可以省略)
規則 配置是等于xxxx,取反為true,則表示 不等于,以此類推
這里json規則的編寫,參考右邊的json例子,json配置說明
* ips:配置直連IP信息
等于匹配:當僅僅只有一個來源ip時使用【特殊用法:當需要匹配任意ip時,內容寫 * 】

字典匹配:當有超過500個IP時,使用(復雜度是 1)

數組匹配:當有多個IP匹配時(小于500個)復雜度是 n

ip段匹配:匹配的ip是cidr形式

如:192.168.1.2/32 ; 192.168.1.0/24 ...
* realipfrom:http頭名稱
這里需要注意的是,不區分大小寫,header頭中的 **橫線 要換成 下劃線**
常見存放IP的頭:`X-Real-IP` `X-Forwarded-For` ,配置就可以是:`x_real_ip`和`x_forwarded_for`(可以不分大小寫的)
注:當需要`nginx`支持下劃線的`header`頭時,需要配置 `underscores_in_headers on;`
http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers
## 刪除:
刪除該條配置,立刻生效
## 編輯:
同 添加一樣 ,對規則進行 編輯修改修改
## 保存:
保存該模塊規則到服務器json配置文件(防止重啟后配置丟失)
注:Slave 會自動保存配置到json文件!!!
- kcon 兵器譜
- 演示 1
- 演示 2
- 演示 3
- 演示 4
- 演示 5
- 前言
- 安裝
- 更新
- 登錄后臺
- 授權認證
- 集群配置
- 7層防護 -- 最佳實踐
- 匹配位置說明
- 匹配方式說明
- 規則匹配詳解
- 全局 - CDN規則
- 添加header頭配置
- 限速limit配置
- 緩存proxy_cache配置
- 清除緩存
- 全局 - 獲取真實IP配置
- 全局 - IP黑白名單
- 全局 - 域名方法配置(白名單)
- 全局 - 跳轉規則配置
- 全局 - 高級規則配置
- 全局 - 普通規則配置
- 全局 - 頻率規則配置
- 全局 - 內容替換規則
- 內容替換規則(插件使用)
- 全局 - 攔截信息配置
- 全局 - LOG規則配置
- 平臺配置
- 基本配置
- 高級配置
- 配置文件管理
- 4 層代理
- 轉發配置
- 插件管理
- 防護配置
- 網站管理
- 證書管理
- 域名管理
- 網站規則
- 插件管理
- 插件操作 --- 基本使用
- 插件操作 --- 手機號脫敏插件
- 歸檔
- 更新日志
- 視頻教程目錄