无
现场配置nqa的http探测有问题,无法访问的网址,在LB的NQA检测是成功的,能正常访问的网站,在LB的NQA检测失败
首先分析直接打开是404的网站
配置如下
#
nqa template http appserver3425
url http://xx.xx.32.34:7025/yhjypt/services/scydzxServer?wsdl
#
这时候查看探测结果是active的
Real server list:
Name State VPN-instance Address Port Weight Priority
appserver3425 Active xx.xx.32.34 7025 100 4
从这里可以看出配置是有问题的,http检测只有返回值是200的才是成功的,所以这个时候没有配置期望值的话,就算返回了404也会被认为是正常的。
需要增加配置,此时探测正常
expect status 200
此时分析能正常打开的服务器
通过web访问能正常打开
但查看探测结果是失败的
Real server list:
Name State VPN-instance Address Port Weight Priority
appserver3303 Probe-failed xx.xx.32.33 7003 100 4
查看配置没有问题
#
nqa template http appserver3303
expect status 200
url http://xx.xx.32.33:7003/yhjypt/services/scydzxServer?wsdl
version v1.1
#
于是直接抓包查看
PC直接访问时抓包
可以看到返回值是200没问题
在LB上抓包可以看到设备收到的就是404确实不是正常值200,所以探测失败是正常的
那么为什么会返回404呢?
在仔细看一下报文
PC发出的报文的地址就是正常的
url http://xx.xx.32.33:7003/yhjypt/services/scydzxServer?wsdl
但是LB在访问时,发出的地址是这样的
url http://xx.xx.32.33:7003/yhjypt/services/scydzxServer%3Fwsdl
“?”变成了“%3F”
怀疑是LB上的某些机制导致
于是查看http健康性检查的配置,发现配置指导里说明了,URL不允许有“?”字符
1、配置http的nqa探测时,需要配置期望值 expect status 200
2、在配置URL时注意URL的格式,不允许出现字符?等
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作