如何在Python的ElasticSearch中配置SSL远程证书解决不安全请求警告
解决Python Elasticsearch连接的InsecureRequestWarning问题
先修复URL格式错误:你代码里的hosts URL写的是
https:/something:something@servername:9200,少了一个斜杠,正确格式应该是https://something:something@servername:9200,这个错误会导致请求解析异常,直接触发不安全请求警告。确认CA证书配置:检查
ca_certs="some-cert"里的路径是否正确,不管是相对路径还是绝对路径,要保证证书文件真实存在,并且当前运行代码的用户有读取权限。如果证书路径不对,即使开了verify_certs=True,也无法完成证书验证,依然会弹出警告。可选的补充配置(仅当上述步骤无效时用):如果确认证书没问题但警告依旧,可以添加
ssl_show_warn=False参数关闭警告,但这只是治标不治本,优先建议解决证书和URL的核心问题。另外,部分旧版本Elasticsearch可能需要指定SSL版本,比如加上ssl_version=ssl.PROTOCOL_TLSv1_2(需要先导入ssl模块)。
修正后的示例代码:
import ssl from elasticsearch import Elasticsearch client = Elasticsearch( hosts=["https://something:something@servername:9200"], use_ssl=True, verify_certs=True, ca_certs="/正确的证书路径/your-cert.pem", # 可选:如果需要指定SSL版本 # ssl_version=ssl.PROTOCOL_TLSv1_2 )
内容的提问来源于stack exchange,提问作者whyt
相关产品推荐
相关产品推荐

