網(wǎng)站接入Web應(yīng)用防火墻WAF(Web Application Firewall)后,訪問請求在到達(dá)源站服務(wù)器之前,需要經(jīng)過WAF的代理轉(zhuǎn)發(fā)。這種情況下,源站服務(wù)器可以通過解析回源請求中的X-Forwarded-For記錄,獲取客戶端的真實(shí)IP。
背景信息
WAF在將客戶端的訪問請求轉(zhuǎn)發(fā)到下一環(huán)節(jié)的服務(wù)器時,會在HTTP的請求頭中添加一條X-Forwarded-For記錄,用于記錄客戶端的IP,格式為X-Forwarded-For:客戶端IP。如果客戶端和源站服務(wù)器之間有多個代理服務(wù)器(例如WAF、DDoS高防、CDN等),則X-Forwarded-For記錄使用以下格式記錄客戶端IP和依次經(jīng)過的代理服務(wù)器IP:X-Forwarded-For:客戶端IP
, 代理服務(wù)器1的IP, 代理服務(wù)器2的IP, 代理服務(wù)器3的IP, ……。
因此,常見的Web應(yīng)用服務(wù)器(包括Nginx、IIS 6、IIS 7、Apache、Tomcat)以及容器K8s可以通過解析X-Forwarded-For記錄獲取客戶端真實(shí)IP。
Nginx配置方案
Nginx服務(wù)器使用http_realip_module
模塊解析X-Forwarded-For
記錄。安裝http_realip_module
模塊,修改Nginx配置。文章來源:http://www.zghlxwxcb.cn/news/detail-407424.html
1.安裝http_realip_module模塊。
在Nginx服務(wù)器上執(zhí)行# nginx -V | grep http_realip_module
命令,查看是否已安裝http_realip_module
模塊。文章來源地址http://www.zghlxwxcb.cn/news/detail-407424.html
到了這里,關(guān)于nginx 獲取客戶端真實(shí)IP的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!