http请求处理方案(http重写功能在解决页面访问异常中的实践)

http请求处理方案(http重写功能在解决页面访问异常中的实践)(1)

作者:华南区技术工程师发

实施背景

本次实施主要是针对某移动私有云进行网络优化过程中遇到的应用页面访问异常问题。具体表现为通过VPN访问该vs,会出现初次访问页面成功,输入用户名后无法正常跳转,并且在等待一定时间后会返回至错误端口,导致业务访问失败。

问题分析过程

//存疑点

• 之前老设备是否有特殊配置。

• 为什么会出现部分人正常,部分人不正常情况。

• 重定向内容为何出现错误。

//分析过程及原因

• 针对第一个存疑点,核对过老设备并没有复杂配置,仅针对业务需求配置有icookie会话保持,但配置在老设备上体现出业务vs下group组内服务器连接数分配严重不均匀,导致高连接数主机经常因为连接数太高无法正常处理业务,初步怀疑老设备因为会话保持原因仅给一台主机分配请求导致。所以替换时为解决分配不均问题,我方编写apv策略时,除做icookie会话保持,还配置有lc算法均衡连接数。

• 针对第二个存疑点,因为apv设备配置了lc算法,会把请求均分至vs下group内所有服务器,所以初步怀疑group内有部分服务器正常,有部分服务器不正常。

• 针对第三个存疑点,主要是负载侧抓包,通过wireshark打开数据包,筛选出接收的数据报头,来进行分析。

问题分析结果

使用同样的网络环境,在客户端网卡抓包,浏览器直接访问RS地址,不经过该vs,RS会定向正确的地址和端口,业务访问正常,跳转正常。经过vs访问后,返回给主机的包中定向了正确的地址,但端口为A端口(正确端口应为B),所以客户端通过vip访问会出现问题。

http请求处理方案(http重写功能在解决页面访问异常中的实践)(2)

方案内容

(1)从抓包分析中,可推断出该vs下,服务器1返回有问题,需要业务方在服务器上进行排查,所以存疑点二出现的原因应该就是负载设备将请求分配至服务器1时会出现问题,将请求分配至服务器2、服务器3时不会出现问题。

(2) 因为业务急需恢复,所以在APV上配置http重写策略,使用APV负载http重写功能,强制将返回值写为正确端口。

(3) 负载设备配置http改写策略后,业务恢复正常,并且多次,多地点测试均能够通过vs正常访问业务。

PS:文档中涉及ip地址非实际ip地址,仅供参考。

总结

(1)APV设备HTTP 改写功能支持对 HTTP 请求和响应执行以下改写操作:

• 重写请求中的 Host 头部和响应中的 Location 头部实现重定向

• 通过添加头部转发特定信息到客户端或后台服务

• 通过删除头部对客户端隐藏设备代理和后台服务信息

• 改写响应内容,使客户端可以正常访问内网网页

(2)整改成本低,上线APV设备后,即可利用APV的http改写功能,对业务请求或者响应进行改写,不需要修改后台业务应用,降低整改成本。

(3)APV设备利用Ha高可靠性实施,增强冗余性,保证业务的不间断运行。

(4)维护便捷,APV设备提供CLI命令行以及Webui两种维护方式。改写操作较复杂时,可进行Web视图操作。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页