问题描述
负载均衡器后面有多个身份验证节点,并配置了粘性会话以确保身份验证请求发送到同一节点。
它只出现在 Chrome 中,但 Firefox 运行良好。
这是第一个请求,在响应标头中设置了 INGRESSCOOKIE
下面是第二个后续请求。 set-cookie INGRESSCOOKIE
在 response 标头中再次设置,而它应该附加在 request 标头中。这仅出现在 Chrome 中
Firefox 运行良好,没有出现同样的问题,下面是 Firefox 中的第二个请求,请求标头中附加了 INGRESSCOOKIE。任何想法是什么导致了这个问题?
解决方法
问题是 path:?(.*)
中的 INGRESSCOOKIE
,可能是与此 https://github.com/kubernetes/ingress-nginx/issues/6812 相关的缺陷
看起来FF看到它匹配所有内容,但Chrome没有匹配任何内容并从所有子序列请求的请求头中删除ingresscookie,并导致登录失败。
解决方法是显式添加 nginx.ingress.kubernetes.io/session-cookie-path: "/"