开发者社区 > 飞天洛神云网络 > 负载均衡 > 正文

传统型负载均衡的会话保持功能不生效

问题描述

使用阿里云传统型负载均衡时,会话保持的功能不生效怎么办?

期望结果

...

已尝试的方法

...

展开
收起
a2nqrwixcztnm 2022-09-16 15:55:46 147 0
2 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    如果您使用的是阿里云传统型负载均衡,在进行会话保持时可能会遇到以下问题:

    服务发现配置中的服务IP地址和端口号不一致:如果您在服务发现配置中使用的是动态IP地址,而在负载均衡配置中使用的是静态IP地址,会导致会话保持不生效。解决方法是将服务发现配置中的服务IP地址和端口号与负载均衡配置中的IP地址和端口号保持一致。
    负载均衡配置中的连接数限制:如果您的负载均衡配置中设置了连接数限制,会导致会话保持不生效。解决方法是将负载均衡配置中的连接数限制设置为无限制。
    负载均衡配置中的重试次数设置:如果您的负载均衡配置中设置了重试次数,会导致会话保持不生效。解决方法是将负载均衡配置中的重试次数设置为无限制。
    负载均衡配置中的超时时间设置:如果您的负载均衡配置中设置了超时时间,会导致会话保持不生效。解决方法是将负载均衡配置中的超时时间设置为无限制。
    负载均衡配置中的健康检查配置:如果您的负载均衡配置中设置了健康检查,会导致会话保持不生效。解决方法是将负载均衡配置中的健康检查配置设置为无限制。
    如果以上解决方法都无法解决问题,建议您联系阿里云技术支持获取帮助。

    2023-07-08 15:36:47
    赞同 展开评论 打赏
  • 可能的问题原因如下:

    • 负载均衡CLB的监听配置中未开启会话保持功能。
    • 会话保持时间设置过小。
    • 使用HTTP/HTTPS监听,当后端服务器返回4XX的HTTP状态码时,报文中无法插入会话保持所需的Cookie,导致会话保持失效。
    • 使用HTTP/HTTPS监听,当后端服务器返回302重定向的HTTP状态码时,会话保持中的SERVERID字串将被改变,导致会话保持失效。

    检查会话保持是否生效:

    1. 单击目标实例ID进入实例详情页面,单击监听页签,单击监听名称。
    2. 监听详情页面,查看会话保持是否开启。
    3. 如果会话保持已经开启,检查会话保持的超时时间。如果超时时间设置过小,可能会导致会话保持失败。可以尝试使用默认超时时间或者适当增加超时时间,同时观察会话保持状态。
    4. 在浏览器端捕抓请求与响应的回复信息,或使用抓包软件分析是否存在如下报文。如果存在如下报文,则建议改用TCP监听。因为TCP监听是通过源客户端的IP地址进行会话保持的。您还可以在后端Web程序中插入Cookie,并对其进行判断,以确保会话保持的有效性。
      • 302重定向的报文:负载均衡植入Cookie时,如果后端ECS实例返回302重定向的报文,将改变会话保持中的SERVERID字串,导致会话保持失效。
      • 4XX响应码的报文:负载均衡无法在4XX响应码的报文中插入会话保持所需的Cookie。
    2022-09-16 16:18:43
    赞同 展开评论 打赏
问答分类:
相关产品:

阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。 阿里云SLB包含面向4层的网络型负载均衡NLB、面向7层的应用型负载均衡ALB和传统型负载均衡CLB,是阿里云官方云原生网关。

相关产品

  • 负载均衡
  • 相关电子书

    更多
    低代码开发师(初级)实战教程 立即下载
    冬季实战营第三期:MySQL数据库进阶实战 立即下载
    阿里巴巴DevOps 最佳实践手册 立即下载