HAProxy杂项

本文介绍了如何使用HAProxy解决后端服务器记录真实IP的问题,通过配置`option forwardfor`来传递客户端IP。此外,还讲解了如何设置错误页面重定向,包括`errorfile`、`errorloc`和`errorloc302`的使用,以自定义HTTP错误响应。
摘要由CSDN通过智能技术生成

后端服务器记录真实ip

问题

使用HAProxy调度web服务器时,由于web服务器认为调度器是客户端,所以只会记录调度器的ip地址而不是真实客户端的ip

解决

HAProxy有一个配置选项”option forwardfor”,可以为http报头添加客户端ip,使web服务器知道真实客户端ip

语法:option forwardfor [ except < network> ] [ header < name> ] [ if-none ]

  • < network>
    可选参数,凡是源地址匹配至此网络中的请求都禁用此功能

  • < name>
    可选参数,使用自定义的首部代替默认的”X-Forwarded-For”.若默认的”X-Forwarded-For”首部已被占用,则可自定义其它的首部

  • if-none
    仅在此首部不存在时才将其添加至http报头中

需要注意的是,HAProxy工作于隧道模式,其仅检查每一个连接的第一个请求.因此,仅第一个请求报文被附加此首部.如果想为每一个请求都附加此首部,请确保同时使用了”option httpclose”,”option forceclose”和”option http-server-close”几个option

实验
  1. 修改haproxy配置文件

    ]# vim /etc/haproxy/haproxy.cfg //事实上HAProxy默认已经提供了option forwardfor的配置
        defaults
        option forwardfor       except 127.0.0.0/8
    
  2. 修改web服务器的配置文件

    ]# vim /etc/httpd/conf/httpd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值