×

幫助中心

常見問題
域名類
?  域名介紹
?  注冊/續(xù)費(fèi)
?  域名管理
?  域名過戶
?  域名轉(zhuǎn)移
?  增值服務(wù)
?  域名交易
?  通用網(wǎng)址
?  產(chǎn)品更新日志
郵局類
?  產(chǎn)品簡介
?  產(chǎn)品管理
?  郵件客戶端
?  郵箱用戶操作指南
?  郵箱管理員操作指南
?  產(chǎn)品使用手冊
?  代理商控制臺(tái)操作指南
?  產(chǎn)品更新日志
云虛機(jī)類
?  購買與升級(jí)
?  FTP
?  主機(jī)管理
?  技術(shù)問題
?  數(shù)據(jù)庫
?  產(chǎn)品更新日志
ECS云主機(jī)類
?  產(chǎn)品更新日志
會(huì)員類
?  會(huì)員注冊
?  信息修改
?  忘記密碼
?  賬戶實(shí)名認(rèn)證
?  產(chǎn)品更新日志
財(cái)務(wù)類
?  后付費(fèi)計(jì)費(fèi)
?  在線支付
?  線下匯款
?  發(fā)票問題
?  匯款單招領(lǐng)
?  退款問題
?  充值業(yè)務(wù)
?  產(chǎn)品更新日志
ICP備案
?  備案問題快速咨詢通道
?  備案介紹
?  備案賬號(hào)
?  ICP備案前準(zhǔn)備內(nèi)容
?  ICP備案流程
?  ICP備案操作指導(dǎo)
?  ICP備案信息查看
?  備案合規(guī)核查要求
?  資料下載
?  公安聯(lián)網(wǎng)備案與經(jīng)營性備案
?  各地管局備案通知
?  常見問題
服務(wù)類
?  ICP備案
?  小新服務(wù)
?  產(chǎn)品更新日志
網(wǎng)站定制類
?  網(wǎng)站定制問題
?  網(wǎng)站訪問問題
新辦公類
?  常見問題
?  操作手冊下載
云推送
?  云推送常見問題
速成建站
?  網(wǎng)站訪問問題
?  網(wǎng)站使用問題
?  產(chǎn)品更新日志
SSL證書
?  SSL證書常見問題
?  產(chǎn)品更新日志
新網(wǎng)云產(chǎn)品類
?  新網(wǎng)云WEB應(yīng)用防火墻
?  新網(wǎng)云DDoS防護(hù)
?  云數(shù)據(jù)庫
?  云產(chǎn)品運(yùn)維
?  內(nèi)容分發(fā)網(wǎng)絡(luò)CDN
?  對(duì)象存儲(chǔ) S3
?  網(wǎng)絡(luò)
資料下載
新手上路

客戶端真實(shí) IP 及端口

  • 作者:
  • 文章來源:新網(wǎng)
  • 點(diǎn)擊數(shù):0
  • 更新時(shí)間:2023-11-30 17:49:35

客戶端真實(shí) IP 及端口

XWAF 獲取通過 CDN 等代理服務(wù)器訪問的客戶端真實(shí) IP

一般 CDN 會(huì)通過 XFF(X-Forwarded-For) 或 X-Real-IP 來傳遞來訪用戶的真實(shí) IP,但是不排除用戶構(gòu)造該字段偽造請(qǐng)求 IP 的情況出現(xiàn)。

如果想在 WAF 端獲取到來訪用戶的真實(shí)的 IP,需要做如下操作

1、打開 WEB 應(yīng)用防火墻控制臺(tái)的【域名管理】,選中需要設(shè)置的域名,點(diǎn)擊【編輯】
2、打開后,開啟【W(wǎng)AF 前是否具有代理】選項(xiàng),并在【真實(shí) IP 字段設(shè)置】處填入 真實(shí)IP 字段(該字段請(qǐng)與您的CDN供應(yīng)商確認(rèn)真實(shí) IP 字段)
3、配置完成后,點(diǎn)擊【確定】,即可讓 XWAF 獲取到客戶到客戶端真實(shí) IP。

源站獲取客戶端真實(shí) IP

XWAF 會(huì)在回源請(qǐng)求頭中添加 X-Real-IP 和 X-Forwarded-For 兩個(gè)字段來傳遞來訪用戶的真實(shí) IP,在源站服務(wù)器中可進(jìn)行相應(yīng)的配置以便獲取這兩個(gè)字段的值。

X-Real-IP 與 X-Forwarded-For 的區(qū)別

代理服務(wù)器(比如 XWAF)會(huì)把請(qǐng)求的來源 IP 寫入 X-Real-IP 字段,然后發(fā)送給源站,這個(gè)字段只會(huì)有一個(gè) IP 地址;而每經(jīng)過一級(jí)代理,代理服務(wù)器會(huì)把來源追加到 X-Forwarded-For 中,在多次代理的情況下,則該字段會(huì)有多個(gè) IP 地址(真實(shí) IP, 代理服務(wù)器 1, 代理服務(wù)器 2, ...)。

源站獲取客戶端真實(shí)端口

XWAF 會(huì)在回源請(qǐng)求頭中添加 X-Real-Port 字段來傳遞來訪用戶的真實(shí)端口,源站可通過取這個(gè)頭部字段的值獲取用戶客戶端真實(shí)的端口。

示例配置

對(duì)于常見的 HTTP 服務(wù)器或 Web 應(yīng)用程序,可以通過下面的方法來獲取客戶端真實(shí) IP:

Nginx

對(duì)于 Nginx 服務(wù)器,可以使用 $http_x_real_ip 取得 X-Real-IP 字段的值,使用 $http_x_real_port 取得 X-Real-Port 字段的值。利用 Nginx 的 http_realip_module 模塊可以讓 $remote_addr 顯示為客戶端的真實(shí) IP,添加的配置如下:

set_real_ip_from 回源IP段; # 回源IP段請(qǐng)參考“XWAF注意事項(xiàng)&FAQ”,多個(gè)IP段需多條指令。 real_ip_header X-Forwarded-For; # 也可以使用 X-Real-IP real_ip_recursive on; # 若WAF前有CDN等代理,需要此指令設(shè)為 on,否則不用。CopyErrorSuccess
若源站的 Nginx 作為代理服務(wù)器,在前文配置的基礎(chǔ)上還可在配置中添加以下內(nèi)容使得后端應(yīng)用也能通過 X-Real-IP 或 X-Forwarded-For 獲取的客戶端真實(shí) IP:

# ... location / { # ... proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 

ASP

Request.ServerVariables("X-Real-IP")

JSP

request.getHeader("X-Real-IP")

PHP

$_SERVER["HTTP_X_FORWARDED_FOR"]

說明:

如果上層鏈路為 CDN 等第三方代理服務(wù)器,有可能無法獲取真實(shí) IP。此種情況需要參照前文WAF 獲取通過 CDN 等代理服務(wù)器訪問的客戶端真實(shí) IP提前在域名設(shè)置中開啟【W(wǎng)AF 前是否具有代理】選項(xiàng)并指定客戶端真實(shí) IP 字段。

新網(wǎng)云WEB應(yīng)用防火墻

免費(fèi)咨詢獲取折扣

Loading