我在https://confluent.cloud/.我正在尝试写一个简单的制作人,用卡夫卡蟒蛇。
这是我的生产者代码:
from kafka import KafkaProducer
producer = KafkaProducer(
bootstrap_servers='pkc-419q3.us-east4.gcp.confluent.cloud:9092',
security_protocol='SASL_SSL',
sasl_mechanism='PLAIN',
sasl_plain_username='CKQB...',
sasl_plain_password='7XKX...'
)
producer.send('my_topic', b'some_message_bytes')
producer.flush()
运行以上操作会导致此错误:
ssl.SSLCertVerificationError:
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
certificate has expired (_ssl.c:1123)
我看到KafkaProducer有ssl_cafile
、ssl_certfile
等选项。但我不知道该使用哪个,也不知道从哪里获取这些文件。
在Windows 10计算机上,我需要做些什么来诊断或更正此问题?
错误是说证书过期,但您选择的引导服务器有一个有效的证书:
9092/tcp open XmlIpcRegSvc
| ssl-cert: Subject: commonName=*.us-east4.gcp.confluent.cloud
| Subject Alternative Name: DNS:*.us-east4.gcp.confluent.cloud, DNS:*.us-east4.gcp.glb.confluent.cloud
| Issuer: commonName=R3/organizationName=Let's Encrypt/countryName=US
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2022-02-20T19:24:47
| Not valid after: 2022-05-21T19:24:46
| MD5: 886e c415 ba01 bba3 c043 f55b 4b24 87bf
|_SHA-1: 3c00 bedf ae03 5656 acc6 71cf a3b5 7e6b b6a2 d832
您是否在任何代理服务器后面进行连接?其中一个服务器TLS证书可能已过期。