【问题标题】:AWS ELB routes differently based on subdomainAWS ELB 根据子域进行不同的路由
【发布时间】:2017-01-13 22:40:56
【问题描述】:

AWS ELB 对子域的重定向方式不同(在我的具体情况下,它是语言子域,如 ko.mydomain.com 和 es.domain.com)。

我目前正在使用“启用负载平衡器生成的 cookie 粘性”选项。我知道这样做的原因是它保存的 cookie 基于正在访问的子域。

如何使粘性跨子域起作用?

【问题讨论】:

    标签: amazon-web-services cookies amazon-ec2 load-balancing amazon-elb


    【解决方案1】:

    您将无法使用负载平衡器生成的 cookie。无法将 cookie 的域设置为与请求 cookie 的域不同。

    解决方案:

    1. 生成您自己的 cookie,用它来确定粘性。
    2. 切换到使用基于路径的路由而不是子域
    3. 更新您的应用程序,使其不再依赖粘性来正常运行。

    【讨论】:

    • 在选项 #1 中,您是在谈论 AWS 选项“启用应用程序控制的会话粘性”吗?从 AWS 文档中,我无法理解我需要在我的应用程序中实现什么才能使其正常工作。你能详细说明基于路径的路线吗?我不熟悉那个选项。
    • 是的,#1 是指应用程序控制的粘性。这意味着您的应用程序会生成 cookie,您可以将 cookie 域设置为根域,而不是包含子域。然后负载均衡器将查找并跟踪 cookie 以确定它将转到哪个实例。
    • 使用基于路径的路由会将语言环境放入路径中的某个位置,并让您的应用程序寻找它。类似/en-US/my-page/
    • 哦,是的,我明白你所说的基于路径的意思。我的应用程序生成的 cookie 究竟需要包含哪些内容?我希望 AWS 文档包含解释,但实际上没有找到。在AWS界面中我主要是给应用cookie名称设置了一个名字,但是在应用端我需要做什么呢?
    • cookie 需要是唯一的,像会话 cookie 这样的东西应该可以工作。
    【解决方案2】:

    AWS ELB 现在支持基于域的路由。检查here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 2018-02-24
      • 2021-12-01
      • 2018-11-19
      • 2014-01-30
      • 2020-04-16
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多