【发布时间】:2018-04-13 12:28:52
【问题描述】:
我正在尝试在 Traefik 代理后面的 Kubernetes 集群中保护 Nifi。两者都在 K8S 中作为服务运行。 Traefik 使用公共证书进行保护。我希望它将调用重定向到 nifi,同时保护 Traefik(作为入口控制器)和后端 pod 之间的通信:Nifi。
看起来安全配置应该存在于我的 Ingress YAML 描述符中。看起来我应该发出一个 CA 根来生成 Nifi 自签名证书并将这个 CA 根加载到 Traefik 中,这样它就可以在与 Nifi 握手时验证 Nifi 发送的证书。
但是...我不知道 1)这是否是好方法,2)我如何使用 CA Root 为 NiFi 生成我的商店(信任,...),3)我应该如何设置我的 YAML(insecureSkipVerify 似乎不受支持,...)
提前感谢您的帮助。
干杯,
奥利维尔
【问题讨论】:
-
我不熟悉 traefik 或 Ingress Controller,但是对于 Apache NiFi,您可以使用包含的
tls-toolkit生成本地 CA,生成并签署任意数量的节点和客户端证书,并将它们全部放入安全的 JKS 密钥库和信任库中,以便于部署。一个guide is available here。 -
是的,谢谢@Andy,但这并不能解决问题。我(当然)使用 NiFi
tls-toolkit但这会生成自签名证书。所以我需要在 Traefik/Ingress 中接受这个证书。而且我不知道如何在 K8S 中做到这一点。 -
您可以为 NiFi 生成由外部实体签名的证书,也可以使用 NiFi 自签名 CA 证书并将其导入 Traefik 信任库。我不确定,但我会在 traefik.yaml 文件中查看是否有外部信任库的配置值,或者它是否标识了您需要将 CA 公共证书导入到的现有信任库文件。跨度>
-
@Olivier 你有进步吗?我遇到了同样的问题。在 NiFi 中,我在握手期间收到
bad_certificate异常。
标签: proxy kubernetes apache-nifi traefik kubernetes-ingress