saundy 发表于 2018-11-13 11:04:53

haproxy nginx X-Forwarded-For的值

  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的结果。

页: [1]
查看完整版本: haproxy nginx X-Forwarded-For的值