尝试在 Kubernetes 集群中运行的 Spring Cloud Gateway 后面的 docker 中使用 Keycloak 版本 21.0.1。使用 /keycloak 和 KC_HTTP_RELATIVE_PATH 环境变量启动 Keycloak,并在网关中进行相同的配置,以便对 /keycloak 进行的任何调用都会转发到 Keycloak。能够通过 Postman 中的云网关 IP 地址使用 /keycloak 获取令牌,但是当尝试通过浏览器访问 Keycloak 管理 UI 时,登录页面无法加载,并在 Keycloak 日志中出现错误,如下所示:
2023-08-25 18:10:50,822 DEBUG [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-2) 错误响应 405: jakarta.ws.rs.NotAllowedException: RESTEASY003650: 找不到 GET 的资源方法,返回带有Allow header的405。
浏览器开发者控制台加载 js 和 css 文件时显示 net::ERR_ABORTED 405 (Method Not allowed)。
也尝试使用 Keycloak 的负载均衡器 IP 访问 UI,但仍然遇到相同的错误。
但是如果没有这个自定义的 HTTP_RELATIVE_PATH 并且在启动和访问 Keycloak 时,使用 / 等默认路径访问管理 UI 没有问题。
有什么地方需要修复吗?
提前致谢。
我也有同样的问题,请问你能解决吗?