Nginx 從 Cloudflare 獲取 Source IP 及寫入 logs

2016-07-29 Nginx

如果你有使用 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?

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

彙整

分類

open all | close all

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱