在OpenShift上配置Camel HTTPS Sink Connector时遇证书路径无效错误
解决Camel HTTPS Sink Connector的证书路径验证错误
错误原因
出现can't find valid certificate path to request target是因为Kafka Connect容器的Java信任库中未包含目标HTTPS端点的CA证书,导致无法验证服务器证书合法性。
解决方案
1. 导出目标HTTPS端点的CA证书
使用openssl命令提取目标端点的证书:
openssl s_client -connect <目标端点主机>:<端口> </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > target-cert.pem
2. 让Kafka Connect信任该证书(二选一即可)
选项一:使用自定义信任库Secret
- 从运行中的Connect Pod复制默认Java信任库到本地:
oc cp <connect-pod名称>:/opt/kafka/config/cacerts ./my-cacerts - 将导出的证书导入自定义信任库(默认密码为
changeit):keytool -importcert -file target-cert.pem -keystore ./my-cacerts -alias target-endpoint -storepass changeit -noprompt - 创建包含自定义信任库的Secret:
oc create secret generic custom-truststore --from-file=my-cacerts - 修改Strimzi KafkaConnect资源,挂载Secret并指定Java信任库参数:
在spec.template.containers下添加配置:volumeMounts: - name: truststore-volume mountPath: /opt/kafka/custom-truststore volumes: - name: truststore-volume secret: secretName: custom-truststore env: - name: JAVA_OPTS value: "-Djavax.net.ssl.trustStore=/opt/kafka/custom-truststore/my-cacerts -Djavax.net.ssl.trustStorePassword=changeit"
选项二:挂载证书到全局CA信任库
- 创建包含证书的ConfigMap:
oc create configmap target-ca-cert --from-file=target-cert.pem - 修改KafkaConnect资源,挂载ConfigMap并更新信任库:
在spec.template.containers下添加配置:volumeMounts: - name: ca-cert-volume mountPath: /etc/pki/ca-trust/source/anchors/ volumes: - name: ca-cert-volume configMap: name: target-ca-cert lifecycle: postStart: exec: command: ["/bin/sh", "-c", "update-ca-trust extract"]
3. 修正连接器配置的错误
- 修正参数名:你配置中的
camel.sink.path.htypUri是错误的,Camel HTTPS Sink Connector的正确参数应为camel.sink.endpoint.url,用于指定完整的HTTPS端点地址。 - 修正转换器类名:
key.converter和value.converter的类名需要区分大小写,正确值为org.apache.kafka.connect.storage.StringConverter。
修正后的完整连接器配置示例:
camel.sink.endpoint.httpMethod=POST camel.sink.endpoint.url=https://<目标端点完整地址> key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=<你的主题名称>
内容的提问来源于stack exchange,提问作者אורי שימחוביץ
相关产品推荐
相关产品推荐

