嗨!本期将讲解7层负载功能中的X-forwarded-for功能。
首先对X-Forwarded-For功能做一个简单的了解。
X-fordwarded-for简称XFF,是在客户端在访问服务器的过程中经过负载均衡器,被用来获取最初发起请求的客户端IP地址。当在数据流从客户端 流向服务器的过程中被拦截的情况下,服务端的访问日志只能记录负载均衡器的IP地址,如果想要获取最初发起请求客户端地址的话,那么X-Forwarded-For就派上了用场。
那么在Radware负载均衡器上是怎么操作的,在服务器端显示的结果又是什么样的,那开始今天的X-Forwarded-For功能演示。
命令行配置
在虚拟服务下开启X-Forwarded-For功能
/c/slb/virt 1/service 80 http/http/xforward ena
#注意:X-Forwarded-For只适用于HTTP。
WebUI界面配置
1)进入Virtual Service下选择HTTP Content Modification;
2)选择Insert X-Forwarded-For插入此功能。
通过appshape脚本的方式插入x-forwarded-for功能
命令行配置
/c/slb/appshape/script x-forwarded-for
ena
import text
when HTTP_REQUEST {
HTTP::header insert X-Forwarded-For "IP: [IP::client_addr] Port: [TCP::client_port]"
}
-----END
WebUI界面配置
1)进入Configuration>Application Delivery>AppShape++ Scripts;
2)点击“+”创建。
1)启用AppShape++脚本;
2)添加ID名称;
3)刷入X-Forwarded-For脚本内容;
4)Import导入。
1)在VS Service下AppShape++ 内启用;
2)点击“+”创建;
3)输入ID并选择刚创建的脚本。
测试结果
VS下插入X-Forwarded-For在服务器上抓包查看含带X-Forwarded-For字段
通过脚本插入X-Forwarded-For在服务器上抓包查看含带X-Forwarded-For字段
测试结果成功且无异常
让我们下期再见,拜拜!!