首页 > 其他分享 >【Keycloak】关于 keycloak的一个“坑”

【Keycloak】关于 keycloak的一个“坑”

时间:2023-07-06 18:35:30浏览次数:28  
标签:http 问题 关于 5.100 10.11 8080 keycloak Keycloak

其实是不能说是keycloak 的坑,
毕竟是使用不当引起的问题。
问题只有在找到解决方案之后才觉得很简单

记录一个什么样的错呢:

项目中使用了keycloak,
然后要部署一个新的环境,
前面一切都岁月静好,也没什么大的问题。

项目启动,登录,打开F12,然后发现。。。。
怎么有一个接口在一直在报错???什么情况!

这个接口:

http://10.11.5.100:8080/auth/realms/demo_realm/protocol/openid-connect/login-status-iframe.html/init?client_id=prod_vue&origin=http%3A%2F%2F10.11.15.11%3A8080

是 keycloak 的一个接口,
一直在刷,然后都是 403 Forbidden。

因为一直不能正常响应,于是一直不断地重试。

但是!但是同时也有其它的几个环境在部署,但都没有问题,偏偏就其中一个环境有问题。
keycloak, ldap 的部署包都是一样的。业务包就肯定是有差异,但差异不大。并且,这个报错明显和业务无关。

如果一定要说有什么不同,那就是部署的人员不同。

比较尴尬的事情就是:知道是 keycloak 的问题,但没有证据说明这就是 keycloak 的问题。


怎么办,拖了好几天的一个问题。

终于要下定决心去解决一下。

大致方向觉得是 keycloak 有问题。怎么定位?

完全没有头绪,
一开始403,以为是nginx的问题,但是直接调用 keycloak 也还是有这样的问题。所以应该不是 nginx 的问题。(只改了请求的 host, 后面的 参数没有变,如果变了说不定就发现一些端倪了。)

不是nginx的问题,那还是应该是 keycloak 的问题了。
既然觉得它有问题,但苦于没有证据,
那只好再安装一个来对比一下了。

于是再从之前的项目找了一个keycloak部署包,
再次安装,
在nginx 开一个新的端口(避免影响之前的)
新端口server 配置指向新的 keycloak ,
配置keycloak,配置 ldap, 同步ldap用户。
修改 keycloak 的 theme.properties 文件
启动 Keycloak,
postman 调用接口,OK! 没有报错, 擦! 还不是这个 keycloak 的问题!被我找到了吧。那个兴奋!真是有趣。
然后,打脸。(项目登录不进去了,用户密码明明没有中文,页面上传参到 keycloak 的时候,它就是变成了乱码。闻所未闻!!!!
为什么 英文也会乱码! 什么情况!

抑郁了。麻木。
以为找到出路,想不到只是徐晃一枪。解决了一个问题,出现另外一个问题。

怎么办呢,真的很迷。

在讨论组里面反馈出来。技术经理疑惑地表示,为什么一个开源的东西,被我们搞得这么复杂?——很有水平的发问,因为我们确实不知道,为什么它能这么麻烦。
每一次的部署,多少都会有问题,不是这个就是那个(题外话了)

嗯,缓过去一会儿。

想到一个问题:
明明有一个兄弟环境是正常运行的,为什么不拿过来部署,修改一下配置呢?(emmmmm,为什么一开始没有想到?)

会不会是从另外项目拿过来的keycloak部署包有问题(这些包都不是原生的包,是处理过的)。
为避免版本问题引发的原因,从兄弟项目拿包确实是更为明智的选择。

好。再一次从头开始,从新部署,重新配置,可以保证的是部署包肯定没毛病。(第二次部署,就快得多了)

配置改好,启动,ca ! 不行!
好了,抑郁加深了。但可以明确的是,肯定是配置的问题了。
但问题是,哪里的配置错了?

我错哪了???

(其实keycloak 的配置项也不多,一页一页对下来,也确实能多少发现一些不同。但有一些差异,看起来不像,往往就是真相。)
引用一名名言就是: 当你排除一切不可能的情况,剩下的,不管多难以置信,那都是事实
真的太真实了。。


直接说结果。
后来拉着另外一个同事,尝试了好久,终于突然发现,该不会是这里吧!!!!

就是这几个配置:
这是它原来的样子

Root URL                 http://10.11.5.100:8080/
Valid Redirect URIs      http://10.11.5.100:8080/*
Base URL                 http://10.11.5.100:8080/
Admin URL                http://10.11.5.100:8080/
Web Origins              http://10.11.5.100:8080/

这是它改后终于正常了的样子

Root URL                 http://10.11.5.100:8080/
Valid Redirect URIs      http://10.11.5.100:8080/*
Base URL                 http://10.11.5.100:8080
Admin URL                http://10.11.5.100:8080
Web Origins              http://10.11.5.100:8080

看到区别了吗?
就是这么小小的差异。。。折磨人。

emmmm.

还是那句: 当你排除一切不可能的情况,剩下的,不管多难以置信,那都是事实

小记一下。把坑都踩一遍,就会有新的坑了。哈哈。
但无论如何,相同的坑不能踩两次,这应该是技术人的底线才对。

继续提升问题定位的能力吧。!!

标签:http,问题,关于,5.100,10.11,8080,keycloak,Keycloak
From: https://www.cnblogs.com/aaacarrot/p/17532984.html

相关文章

  • 关于 AcWing 网站及延伸
    --AcWing 网站https://www.acwing.com/AcWing是一个在线编程学习平台,提供了各种算法和工程课程,以及丰富的题库和活动。你可以在AcWing上学习编程知识,刷题练习,参加比赛,或者和其他同学交流。AcWing的名字来源于英文单词“acwing”,意思是“飞翔”,寓意着帮助同学们在编程的......
  • 关于几个结构型模式的讨论
    结构型模式的思路是组合,而根据组合侧重的不同方面,分为了不同的模式。结构型模式的思路和行为型模式中的模板方法模式有一定相似性,尤其是在实现具体的函数时,不过不同之处在于模板方法模式采用的是继承,并且它们的目的也不一样,结构型模式的目的是扩展、增减功能,而模板方法模式的目......
  • 关于安卓客户端 软键盘弹出后,导致底部按钮看不见的处理方法
    问题产生原因:安卓:软键盘弹出后会改变页面的高度将页面顶上来。使用fixed或者absolute,会使得元素跟随body的底部移动,而安卓端软键盘将导致body高度变小而导致变形。IOS端:苹果的软键盘是覆盖的(分层),因此没有什么问题。 解决思路:记录页面高度,在键盘收起后,恢复原来高度 ......
  • 关于某游戏xa功能的修改
    首先我们需要把这个游戏的dump给搞出来【网上都有教程,在这里我就不再多说了】然后我们进行搜索关键词,例如血量就是hp那么我们就搜索get_hp这个0xcb39e4就是偏移了,int64是他的类型对于这个偏移,我们需要在libil2cpp.so中进行偏移并修改所以,我们进入火影,打开gg,按照以下的步骤......
  • 关于IO技术的介绍
    什么是IO输入(Input)指的是:可以让程序从外部系统获得数据(核心含义是“读”,读取外部数据)。输出(Output)指的是:程序输出数据给外部系统从而可以操作外部系统(核心含义是“写”,将数据写出到外部系统)。java.io包为我们提供了相关的API,实现了对所有外部系统的输入输出操作。什么是数据源......
  • 关于调试gmsh源码过程中产生的gmsh.dll和gmsh.pdb文件无法匹配,进而导致无法载入pdb文
    省流版由于ALL_BUILD会将对应于gmsh.exe的调试文件gmsh.pdb附在对应于gmsh.dll的调试文件gmsh.pdb文件,进而导致gmsh.pdb无法和gmsh.dll文件进行版本匹配,进而导致无法载入,进而导致无法调试gmsh源码;解决办法:将对应于gmsh.exe的gmsh.pdb改为其他任意命名即可;或者仅仅生成gms......
  • 关于Symbol
    一、概念Symbol是ECMAScript6新增的基本数据类型。Symbol是原始值,且Symbol实例是唯一、不可变的。Symbol的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。二、基本使用作为对象的属性,有以下三种书写方式:打印结果都是‘hello’第一种第二种第三种letmyS......
  • 关于沧一信竞发展的观点
    Q.沧一的现状如何A.高一(2022级)的生源貌似不太好,上回五校联考被泊头一中吊打,比如数学被甩了十几分,当然也可能是泊头一中太厉害了,泊头一中新高一已经打过邯郸一中了。所以现在的不等式链条为沧一<邯郸一中<泊头一中。所以这次五校联考高一只让北大班参加,贻笑大方。Q.如何看待河......
  • 金蝶Apusic 应用服务器9.0版本上,springboot项目关于文件上传的一个问题
    金蝶Apusic应用服务器9.0版本上,springboot项目关于文件上传的一个问题 项目部署在金蝶v9上使用文件上传时,请求接口获取不到参数。但是在本地启动应用是可以获取到参数,没有任何问题。 @RequestMapping("doUpload")publicvoiddoUpload(DocAttaPagepage,@RequestParam(val......
  • 关于白屏???
     白屏是指在网页加载过程中,页面内容不能正常展示,只显示空白页面的情况。 导致白屏的原因有很多,下面简单分析一下导致白屏的一些主要原因:1、网络问题导致加载失败:  可能因为网络问题导致资源无法正常加载而导致页面空白。还可能由于服务器故障、网络连接问题或资源路径错......