首页 > 其他分享 >keycloak~登录步骤页login-actions/authenticate出现无限次302跳转的原因与解决

keycloak~登录步骤页login-actions/authenticate出现无限次302跳转的原因与解决

时间:2023-11-23 13:33:26浏览次数:28  
标签:ingress authenticate 登录 kubernetes 302 nginx io 跳转 keycloak

问题出现的前提

  • keycloak通过k8s部署,并进行了集群部署,共2个节点
  • 通过域名解析后,直接到外网LB,在LB上配置了k8s-ingress的IP,端口是80和443
  • 在keycloak应用的ingress配置中,对域名进行了keycloak服务的绑定

问题的描述

  • 有时间无法完成登录,点登录后,刷新了一次登录页,未完成登录行为
  • 有时在登录时,出现死循环,反复302到login-actions/authenticate,keycloak日志中显示“会话失效”,或者可以理解为,“你使用了无效的会话session_code”

问题解决过程

  • 如果是单节点不会有这个问题
  • 如果是多节点部署,需要在LB上添加会话保持
  • 如果是容器化部署的情况下,如果k8s-ingress进行负载,那么,除了在LB上添加了会话保持的,还需要为ingress添加会话保持,代码如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  namespace: default
  name: my-app
  annotations:
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
    nginx.ingress.kubernetes.io/proxy-buffer-size: "16k" #缓冲区大小
    nginx.ingress.kubernetes.io/proxy-buffers-number: "8" #缓冲区数据,不加它参数多时返
  • 如果你使用rancher部署应用,直接在应用对应的负载均衡上添加即可

标签:ingress,authenticate,登录,kubernetes,302,nginx,io,跳转,keycloak
From: https://www.cnblogs.com/lori/p/17851350.html

相关文章

  • ISOM 3029 - Computer Programming Using C++
    以下是C++程序的问题。作业的硬拷贝和软拷贝都应按时提交。全部的程序(.cpp文件)将被压缩并上传到“提交作业1”按钮。压缩文件应与您的学生一起命名编号,例如“ba12345_Ass1.zip”。问题1:彩票计划(50%)编写一个C++程序,在开始时输出一条问候信息,然后生成6个肯定信息对于彩票游......
  • 单页面下模拟路由跳转
    项目需求:一个路由页面下展示多个页面,且切换时要像真正的路由一样可以携带路由参数三个前置知识:vue不允许在路由栈中推入同一URL地址,否则会告警:NavigationDuplicated:Avoidedredundantnavigationtocurrentlocation:"/route".在以react、vue为代表的SPA项目中,在万物......
  • pigx 单体 首页跳转
    <template> <divclass="layout-padding"> <divclass="layout-padding-autolayout-padding-view"> <div:style="'display:'+panalVisible.zkt1"><zkt1/></div> <div:style=&......
  • $router.push()中通过path跳转和通过name跳转有什么区别
    今天在路由跳转传参时发现params传参接收到的总是为空,才发现通过path和name传参是有区别的path传参要完整的路径,不能带参数。name传参可以带params。params的传参页面刷新会丢失,query的传参不会丢失使用path进行跳转:当你使用path进行跳转时,你需要提供完整的路径字符串,包括......
  • 基于mdev实现adb热插拔(@STM32MP157D+fusb302)
    关键词:fusb302、uevent、mdev、adbd等等。1fusb302关于USB插拔检测,以及增加uevent事件fsusb302支持USBPowerDelivery协议(USBPowerDelivery),支持识别各种USB设备和对应的状态。fusb302支持DRP(DualRolePower)、DFP(DownstreamFacingPort)、UFP(UpstreamFacingPort)......
  • 09.路由跳转
    路由跳转应用场景场景:假设在新增信息页面,完成新增操作之后需要跳转到展示页面。展示页面是个动态页面,它的逻辑是,如果有参数,则展示相关参数的结果,如果没有参数,则展示所有的信息。解决:使用 url_for() 生成url,再使用 redirect() 方法完成路径的重定向。实现当完成添......
  • 跳转语句
    跳转语句的概念跳转语句用于程序的转移控制,改变程序的执行流程,转移到指定之处;与程序转移有关的跳转包括break语句、continue语句以及goto语句;break和continue语句主要与循环有关;goto语句在C语言中有,他是无条件跳转,所以可以完全替代break和continue语句,一般要慎用。break语句的使用......
  • 14_DS1302实时时钟
    DS1302实时时钟介绍引脚定义和应用电路内部结构框图寄存器定义时序定义BCD码LCD1602显示年月日时分秒星期信息DS1302.c#include<REGX52.H>#include"DS1302.h"sbitDS1302_SCLK=P3^6;sbitDS1302_IO=P3^4;sbitDS1302_CE=P3^5;#defineDS1302_SECOND0x80......
  • 51时钟实验——DS1302芯片
    关于DS1302芯片:1、引脚说明: Vcc1:主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2VVcc2>Vcc1+0.2VVcc2>Vcc1+0.2VVcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期......
  • web第三章网页之间的跳转
    本章首节是超链接链接由以下三部分组成:<a>文本或图片</a>标签为链接的源点“内属性href=···,标签<a>最基本属性(内加各种链接)路径地址(url),要链接的目标,简单来说就是说可以复制一个链接超链接的路径1.绝对路径:是指一个完整的资源地址可以是外部链接基本格式:通讯协议://服务......