1. 程式人生 > >haproxy nginx X-Forwarded-For的值

haproxy nginx X-Forwarded-For的值

toc AR 將不 註釋 寫入 IE 不同 pro except

client(web 瀏覽器) ----> haproxy(acl backend)----> nginx (proxy_pass)----> java程序
地址如下:
1.1.1.1 2.2.2.2 3.3.3.3

默認正常的java程序看到的 X-Forwarded-For 為 1.1.1.1,2.2.2.2, 3.3.3.3

haproxy日誌中看到的是 1.1.1.1
nginx日誌中看到的是 1.1.1.1,2.2.2.2

如有一段nginx中的正常的生產日誌:
"111.14.66.215, 21.32.2.206,21.32.2.206"

但是haproxy和nginx中都有一些參數可以改變這個現狀

如: haproxy如果設置
#option forwardfor except 127.0.0.0/8

如果option forwardfor被註釋掉了,haproxy將不會將自己的作為代理寫入到x-forwarder-for中去。

如: nginx中如果設置
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
如果 nginx中proxy_set_header被註釋,nginx將不會將自己作為代理寫入到x-forwarder-for中去。

註意:如果nginx設置了proxy_set_header ,real_ip_header {proxy_protocol|X-Forwarded-For}; 的每個不同值都會影響proxy_set_header的結果。

haproxy nginx X-Forwarded-For的值