密钥斗篷网守:设置基本URL

时间:2019-04-04 13:05:16

标签: keycloak keycloak-gatekeeper

我找不到更新密钥斗篷网守Sidecar的基本URL的方法。 我的配置与设置为基本URL(例如:https://monitoring.example.com/)的服务配合使用,而不是与自定义基本路径(例如:https://monitoring.example.com/prometheus)配合使用。

我的Yaml配置是:

User Member - Parameters

我的问题是能够为边车设置不同的基本URL路径(“ / prometheus”),因为当我打开https://monitoring.example.com/prometheus时,我收到307重定向到https://monitoring.example.com/oauth/authorize?state=XXXXXXX 而应该是https://monitoring.example.com/prometheus/oauth/authorize?state=XXXXXXX

我尝试使用参数“ --redirection-url = https://monitoring.example.com/prometheus” 但这仍然将我重定向到相同的URL。

编辑:

我的目标是能够保护多个Prometheus并限制对它们的访问。我也在寻找一种解决方案来设置有关领域或客户端的权限。我的意思是,某些密钥斗篷用户应该能够,例如,进行身份验证并查看/ prometheus-dev的内容,而不是/ prometheus-prod的内容。

EDIT2:

我错过了参数'base_uri'。将其设置为“ / prometheus”并尝试连接到“ https://monitoring.example.com/prometheus/”时,我收到了很好的重定向信息“ https://monitoring.example.com/prometheus/oauth/authorize?state=XXXXXXX”,但无法正常工作。在keycloak中,日志为:

  

“信息:在请求中找不到会话,正在重定向以进行授权,错误:未找到身份验证会话”

2 个答案:

答案 0 :(得分:1)

在Gatekeeper版本7.0.0中,您可以使用以下选项之一:

  • --oauth-uri
  • --base-uri

但是当前,如果您使用--base-uri,则尾随/将被添加到baseUri之后的回调URL中(即/baseUri//oauth/callback)。但是对我来说,它可以与oauth-uri=/baseUri/oauth配合使用。

答案 1 :(得分:0)

如果您将307响应上的位置标头重写到浏览器,则可以完成此操作。如果您在nginx入口后面,请添加这些注释。

nginx.ingress.kubernetes.io/proxy-redirect-from: /
nginx.ingress.kubernetes.io/proxy-redirect-to: /prometheus/