k8s 上的安全 nifi 集群出现入口登录错误:javax.net.ssl.SSLPeerUnverifiedException:主机名未验证

问题描述 投票:0回答:1

我正在尝试在 k8s 上设置一个 nifi 集群(3 个 nifi pod 和 3 个 zk pod)。 我已启用:

  1. ldap登录认证
  2. 数据持久化
  3. 以及用于负载平衡的入口

nifi Web 服务器已正常启动,因为我在访问入口 URL 时可以看到登录屏幕。 我可以看到每个 Pod 中的 nifi 都启动正常。

当整个集群仍处于断开连接状态时,ldap 身份验证会在短时间内起作用。 但是集群同步完成后,当我再次登录时,就遇到了这个错误:

发生意外错误

javax.net.ssl.SSLPeerUnverifiedException:主机名节点-####.svc.cluster.local 未验证:证书:sha256/E7####.######TU= DN:CN=domain.com 、OU=加密证书、OU=###、O=####、C=CA subjectAltNames:[*.domain.com、domain.com]

入口似乎无法验证 nifi 节点(node-####.svc.cluster.local),因为它只期望来自domain.com

我已经尝试过

  1. 将以下内容设置为 false 并强制 nifi 使用 http:

    nifi.remote.input.secure=false nifi.cluster.protocol.is.secure=false

并禁用 nifi.web.https.port,而是设置 nifi.web.http.port

  1. 我的入口 yaml:

    入口:

    启用:真

    类名:nginx

    注释:

     nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    
     nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    
     nginx.ingress.kubernetes.io/ssl-redirect: "false"
    
     nginx.ingress.kubernetes.io/affinity: "cookie"
    
     nginx.ingress.kubernetes.io/session-cookie-name: "route"
    
     nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
    
     nginx.ingress.kubernetes.io/session-cookie-expires: "172800"
    
     nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
    
     nginx.ingress.kubernetes.io/affinity-mode: persistent
    

    tls:

     - hosts:
    
       - nifi-cluster.domain.com
    
       secretName: ssl-certs
    

    主持人:

     - nifi-cluster.domain.com
    

    路径:/

如果无法修改/生成新的入口证书, 有没有其他解决方案可以解决这个问题?谢谢

kubernetes ssl-certificate apache-nifi kubernetes-ingress
1个回答
0
投票

您可以尝试从入口中删除 TLS 配置

tls: [].

官方文档中还有一个示例配置步骤,您可以尝试修改集群正在使用的证书。

© www.soinside.com 2019 - 2024. All rights reserved.