组网简化如下:
客户端-----LB(代理模式)-----后端服务器
不涉及
问题描述:
网页可以打开,输入账户名密码后无法登录
关键配置:
#
loadbalance snat-pool zcmh
ip range start 192.168.63.3 end 192.168.63.3
arp-nd interface Reth1
#
server-farm ؊²廧_sf
predictor hash address source
fail-action reset
snat-pool zcmh
probe 10.128.23.2http¼
probe 10.128.23.3http¼
success-criteria at-least 1
real-server zcmh1 port 5200
success-criteria at-least 1
probe 10.128.23.2http¼
real-server zcmh2 port 5200
success-criteria at-least 1
probe 10.128.23.3http¼
#
loadbalance class zcmh type generic
match 2 acl 3000
#
loadbalance action zcmh type generic
server-farm ؊²廧_sf sticky zcmf
#
loadbalance policy zcmh type generic
class zcmh action zcmh
#
virtual-server zcmh type http
port 443
virtual ip address 192.168.63.3
lb-policy zcmh
default server-farm ؊²廧_sf sticky zcmh
ssl-server-policy ssl
service enable
sticky-sync enable
#
对于LB设备七层负载的问题,一般建议的方式是在设备上进行抓包,抓包的流量包括:
1. 客户端到虚服务的流量(双向)
2. LB设备到实服务器的流量(双向),如果涉及SNAT,代表SNAT地址池地址到实服务器的流量;如果不涉及SNAT,则是客户端到实服务器的流量。
通过抓包发现2个重要信息:
1. 客户端和虚服务建立的是https连接,LB和后端实服务器建立的是http连接。
2. 前面的报文交互没有问题,问题出现在后端实服务器重定向连接到虚服务IP(该连接类型为http),鉴于终端到虚服务是https,因此重定向访问失败。
重新创建http类型的动作,做应答方向的http Location 改写,将http改为https 后测试成功。
%1-9:Header值中正则表达式取出的变量值,最多支持9个