K8s使用cetic helm部署NiFi访问出现Invalid host header错误
环境信息
- Helm版本:v3.5.2
- Kubernetes版本:v1.20.4
- nifi chart版本:1.0.2
问题根因
- YAML配置缩进错误:提交的values.yaml中
service块错误缩进为properties的子属性,导致Helm无法正确解析两级配置,所有相关参数都没有正确渲染到Pod的配置文件中。 - Chart模板固有缺陷:cetic/nifi 1.0.2版本的ConfigMap模板未做
properties.webProxyHost到nifi.properties配置项的映射,即使缩进正确,该参数也不会自动同步到Pod内的配置文件。 - NiFi安全机制限制:NiFi默认会校验请求的Host Header,只有在白名单内的地址才允许访问,主节点IP+端口未进入白名单,因此触发访问拒绝错误。
解决方案
步骤1:修正values.yaml配置
首先调整配置缩进,将service块挪到和properties同级,同时新增extraEnv参数直接注入白名单配置(无需修改Chart模板,优先级更高):
properties: sensitiveKey: changeMechangeMe algorithm: NIFI_PBKDF2_AES_GCM_256 externalSecure: false isNode: false httpsPort: 8443 webProxyHost: 10.0.39.39:30666 clusterPort: 6007 # ui service,与properties同级,无缩进 service: type: NodePort httpsPort: 8443 nodePort: 30666 annotations: {} # 新增环境变量直接注入白名单,NiFi优先读取环境变量覆盖配置文件 extraEnv: - name: NIFI_WEB_PROXY_HOST value: 10.0.39.39:30666
步骤2:更新部署
执行helm upgrade命令更新已部署的应用:helm upgrade nifi cetic/nifi -f values.yaml -n <你的部署命名空间>
步骤3:验证生效
待Pod重启完成后,再次访问https://10.0.39.39:30666/nifi即可正常加载UI,也可以进入Pod内查看nifi.properties文件确认白名单配置已更新。
内容的提问来源于stack exchange,提问作者Asiri Liyana Arachchi
相关产品推荐
相关产品推荐

