本帖最后由 Hacking 于 2022-5-16 14:11 编辑
很多业务有过AD负载均衡器要求获取客户端真实IP的需求,按部署方式来实现基本操作有三种,大致优缺点如下:
方案1:在AD中配置优化策略,启用传输客户端IP至后台服务器,将该优化策略关联到虚拟服务,配置完成之后AD转发给服务器的数据包的HTTP头部里会插入X-Forwarded-For头部,头部的值就是客户端的真实IP,服务器只要识别到这个头部的值即可读取到客户端的真实IP。缺点:服务器需要能识别X-Forwarded-For字段(需要安装插件),且只支持七层虚拟服务http(https)协议类型的业务。
方案2:配置三角传输,AD不做源地址转换,这样服务器就能看到客户端源IP,只有四层虚拟服务才可使用三角传输。缺点:限于旁路部署,服务器需要配置loopback接口。
方案3:将服务器的网关直接指向AD,AD不做源地址转换。缺点:这种方式要改动服务器网关,网络结构会改变。
这边我简单介绍下最简单,最常用的X-Forwarded-For配置
操作场景:
启用X-Forwarded-For后可以让后台服务器获得真实的客户端源地址。X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段,用来表示 HTTP 请求端真实 IP。
操作步骤:
【应用负载】-【优化策略】-【HTTP优化】-新增即可。
l 【应用负载】-【虚拟服务】-【HTTP优化】-新增调用即可。
验证:
主机端使用curl 命令探测虚拟服务,抓包分析,http协议服务包X-Forwarded-For请求头,包含源真实IP,验证配置正常有效。
世间万物,无一及你,希望本文能帮助您了解AD并熟悉其使用。喜欢的来个一键三连(关注+收藏+点赞),怕下次有好东西分享不到你。 |