在nginx入口控制器后面启用tls时,keycloak停止工作

时间:2020-06-15 09:13:59

标签: ssl keycloak nginx-ingress amazon-eks

我需要有关如何在带TLS的eks kubernetes上配置nginx入口控制器和密钥斗篷的建议。

我的第一个尝试是使keycloak在不使用TLS的情况下工作。这很好。但是,当我将TLS添加到入口定义时,keycloak给出了无效的参数:redirect_uri 错误。

这是工作示例:

val intent = Intent(this, ViewExpenseList::class.java)

添加tls部分时,出现上述错误。请参见下面的yaml文件。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: keycloak-tls-test
  namespace: keycloak-tls-test
spec:
  rules:
  - host: keycloak.test.myhops.com
    http:
      paths:
      - backend:
          serviceName: keycloak
          servicePort: 80

有关如何解决此问题的任何建议?一种在线建议是将https://huggingface.co/transformers/pretrained_models.html *添加到主领域中security-admin-console客户端的有效重定向URL中。这解决了无效的redirect_uri错误,但是后来我只有空白页。我在密钥斗篷记录中找不到提示。

1 个答案:

答案 0 :(得分:2)

我弄清楚是什么原因引起的。看起来,当在终止TLS的反向代理后面使用keycloak时,则keycloak需要设置proxy-address-forwarding。对于docker容器,这意味着env var PROXY_ADDRESS_FORWARDING = true可以解决问题。因此Ingress是正确的,因此密钥库部署需要额外的环境变量。

请不要因为ingress-nginx已经设置了正确的标头才能使其正常工作:

  • X-Forwarded-For
  • X-Forwarded-Proto

Docker documentation [keycloak文档2