客户某一类业务采用我司L1000-E作为服务器负载均衡,虚服务ip 1.1.1.54:8089实际物理服务器有两台,分别为1.1.1.41、1.1.1.42,每台服务器提供8085-8089端口服务,每个端口提供同样服务内容,加起来共有十个节点,实现负载均衡,目前通过虚服务ip能够打开登录界面,输入用户名和密码后,页面跳转失败。
无
我们在通过虚服务地址访问时,输入用户名和密码后,点击登录时,此时地址栏虚服地址后面多了8089,8089是真实服务器的端口号,说明页面在二次跳转时,访问的为虚服务地址加真实服务器的端口号,即http://1.1.1.54:8089/maximo/,命中不了虚服务,从而访问失败。此时在服务器和客户端抓包分析,发现服务器在给H3C L1000-E回包时,在http body里面把下次访问的地址和端口号已经固定了,即虚服务的地址加真实服务器的端口号。
我们需要在H3CL1000-E上面实现,对每个HTTP请求报文都进行负载均衡,并对每个HTTP请求或应答报文的首部都执行修改操作,将http body中涉及到真实端口号的都替换成80端口号,修改H3C L1000-E的配置后,最终实现地址加端口号的固定,成功的访问到真实服务器。关键配置
#
sticky-group sg1 type http-cookie
#
parameter-profile 1 type http
rebalance per-request
header modify per-request
#
loadbalance class test type http match-any
match 1 url ^/maximo.*
#
loadbalance action la1 type http
server-farm sf1 sticky sg1
content rewrite value 1\\.1\\.1\\.54:808[5-9] replace 1.1.1.54
header rewrite response name location value http://1.1.1.54:808[5-9](/.*) replace http://1.1.1.54%1
#
loadbalance action la2 type http
server-farm sf2 sticky sg1
content rewrite value 1\\.1\\.1\\.55:808[2-3] replace 1.1.1.55
header rewrite response name location value http://1.1.1.55:808[2-3](/.*) replace http://1.1.1.55%1
#
loadbalance policy lp1 type http
class test action la1
#
loadbalance policy lp2 type http
class test action la2
#
virtual-server vs1 type http
virtual ip address 1.1.1.54
parameter http 1
lb-policy lp1
service enable
sticky-sync enable
#
virtual-server vs2 type http
virtual ip address 1.1.1.55
parameter http 1
lb-policy lp2
service enable
sticky-sync enable
#
由于采用的是七层负载,而且对每次http报文中的内容都要进行扫描,等于是要分出一部分cpu来处理该动作,对设备性能会有一定的影响,所以四层负载能解决的还是采用四层处理,因为配置和维护相对简单,利于后期扩容;需求特殊必须采用七层负载的需谨慎使用,尤其需要对http报文内容做修改的。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作