我正在使用 keycloak gatekeeper 作为连接到 keycloak 实例的代理来保护 kibana。所有工具都在私有 kubernetes 集群中运行。钥匙斗篷守门人安装了以下舵图 https://github.com/mvitale1989/helm-keycloak-gatekeeper。
我注意到,通过长时间运行的 kibana 查询(> 10 秒(,我在正好 10 秒后得到 HTTP 502 错误网关。我直接连接到kibana与"kubectl port-forward...."并测试了一些长时间运行的查询,并在 30 秒后超时。这就是为什么我认为钥匙斗篷网守负责HTTP 502代码。我在钥匙斗篷网守实例的日志中找不到任何内容。
问:对于持续时间超过 10 秒的上游请求,keycloak 网守中是否有默认超时?如果是,如何将其更改为例如 30 秒?
提前非常感谢!
我们遇到了同样的问题。两个重要的变量是:
server-write-timeout: 30s
upstream-response-header-timeout: 30s
第一个是完整响应的超时。第二个是接收第一个响应标头的超时。
在 Keycloak gatekeeper 的配置中,ServerReadTimeout 的默认值设置为 10 秒,请参阅:
- https://github.com/keycloak/keycloak-gatekeeper/blob/master/config.go#L62
- https://github.com/keycloak/keycloak-gatekeeper/blob/42b3e3cd1359285da766fd0f0f637411d744e9bf/doc.go#L338
您应该能够通过在配置文件中设置服务器读取超时来更改此设置:
服务器读取超时:30