現在位置: 首頁 > Nginx > 正文

Nginx 從 Cloudflare 獲取 Source IP 及寫入 logs

如果你有使用 Cloudflare 應該就會發現抓到的 source IP 都是錯的,這是由於你在前端加了一個 Proxy (Cloudflare) 必須 read ip from Cloudflare

 

在之前有寫到如何從 Proxy 獲取 Source IP:CentOS 6 安裝 Nginx Cache Reverse Proxy + Purge plugin

 

那麼 Cloudflare 要如何知道 Proxy IP 以及 real_ip_header

 

在官方文件提供這方面的資訊,但隨著 Cloudflare 的擴大所用的網段可能會增減,這是必須要注意的

 

如果你原本已經有了 X-Forwarded-For,可以再新增一筆 CF-Connecting-IP header 就可以完整的獲取到 source ip 了

 

要加入 log_format 可以使用 $http_cf_connecting_ip 和 $http_x_forwarded_for 用以驗證。

 

 

參考資料:

How do I restore original visitor IP with Nginx?

文章連結: https://shazi.info/nginx-%e5%be%9e-cloudflare-%e7%8d%b2%e5%8f%96-source-ip-%e5%8f%8a%e5%af%ab%e5%85%a5-logs/ | Mr. 沙先生

該文章由 shazi7804 於2016年07月29日發表在 Nginx 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: Nginx 從 Cloudflare 獲取 Source IP 及寫入 logs | Mr. 沙先生
標籤: , , , ,

Nginx 從 Cloudflare 獲取 Source IP 及寫入 logs:給Mr.沙先生一點建議

發表回文