【问题标题】:Ingress session-cookie-path setting regular express in Ingress Session Cookie; resulting in user logoutIngress Session Cookie中的Ingress session-cookie-path设置正则表达式;导致用户注销
【发布时间】:2020-09-12 12:52:48
【问题描述】:

我创建了一个具有以下路径定义的入口控制器配置:

paths:
   - path: (USA)/my-app/(.*)$
     ...............
   - path: (UK)/my-app/(.*)$

这里发生的问题是当我没有设置以下注释时;

nginx.ingress.kubernetes.io/session-cookie-path

我在 INGRESSCOOKIE 路径中的正则表达式为:

cookie-name: INGRESSCOOKIE --------cookie-path: /(USA)/my-app/(.*)$

这来自给定路径,即 /(USA)/my-app/(.*)$。

因此,来自 Ingress 的此响应 cookie 不会返回到 Ingress 以处理对 http://USA/my-app/?id=1 的任何后续请求。 (因为 HTTP 请求路径与 INGRESSCOOKIE 中的路径不同)

并且由于这个 HTTP 请求有时会到达不同的上游服务器并且用户注销;因为请求中的会话 id 是由通过同一负载均衡器管理的不同服务器生成的。

然后我尝试将注释设置为:

nginx.ingress.kubernetes.io/session-cookie-path= /$1/my-app

但是 $1 实际上并没有在这里解决;可能我们不能在 session-cookie-path 中给出表达式。

这里有什么我没有以正确的方式做的吗?或者,我应该尝试其他方法来实现会话亲和性。

谢谢

【问题讨论】:

    标签: kubernetes kubernetes-ingress nginx-config nginx-ingress


    【解决方案1】:

    我知道这已经很老了,但还是想分享我的观点。

    对于您的问题,您可能想尝试以下注释:nginx.ingress.kubernetes.io/use-regex

    请从注释中删除“session-cookie-path”,因为会话 Cookie 路径不支持正则表达式

    欲了解更多信息,请访问以下链接:

    https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#use-regex https://kubernetes.github.io/ingress-nginx/user-guide/ingress-path-matching/ https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#cookie-affinity

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 1970-01-01
      • 2019-01-19
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-21
      • 2022-01-12
      相关资源
      最近更新 更多