Nginx
為真實使用者 IP 自定義 AWS ELB 的日誌條目
我想更改 AWS ELB 的日誌記錄格式,以便記錄真實使用者 IP。
我目前的伺服器設置包含多層代理,如下所示:
CloudFlare -> AWS ELB -> Nginx (EC2)
使用適當的 nginx 模組,我可以使用 X-Forwarded-For 標頭在我的 EC2 實例的日誌中獲取真實的客戶端 IP。但是,我無法找到一種方法來配置 AWS ELB 以在 CloudFlare 設置的 X-Forwarded-For 中記錄 IP。
我想自定義 AWS ELB 生成的日誌條目來記錄真實的使用者 IP,這樣我以後可以分析完整的日誌,而不是從每個 EC2 實例收集日誌。
有沒有辦法做到這一點?
我給 AWS 技術支持寫了電子郵件,他們回复說目前 ELB 不支持這種配置。
使用CloudFlare在您的 nginx real_ip 配置中設置的 CF-Connecting-IP 標頭。
例如:
real_ip_header CF-Connecting-IP;
ELB 似乎沒有任何選擇來做到這一點。您幾乎可以肯定必須自己匯總日誌。