You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python连接MLFlow服务器遇SSL证书验证失败问题求助

SSL证书验证失败问题排查与解决

问题描述

通过SSL连接MLFlow服务器时触发证书验证错误,报错信息:

API request to ... failed with exception HTTPSConnectionPool(host='...', port=443): Max retries exceeded with url: ... (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate ( _ssl.c:1002)')))

已尝试安装本地验证文件但问题未解决,询问是否可能与MLFlow服务器端证书配置有关。连接代码如下:

os.environ['MLFLOW_TRACKING_USER'] = settings.MLFLOW_TRACKING_USER
os.environ['MLFLOW_TRACKING_PASSWORD'] = settings.MLFLOW_TRACKING_PASSWORD
os.environ['MLFLOW_S3_ENDPOINT_URL'] = settings.MLFLOW_S3_ENDPOINT_URL
os.environ['MLFLOW_TRACKING_URI'] = settings.MLFLOW_TRACKING_URI

try:
     mlflow.set_experiment("factoring_client_predict_fact")
     mlflow.start_run()
     # code for training a model or other operations with mlflow
except Exception as e:
     print(f"An error occurred while establishing a connection: {e}")

问题分析

这个错误确实可能与MLFlow服务器端证书配置有关,但也存在客户端配置疏漏的可能,具体原因如下:

服务器端可能的问题

  • 服务器使用自签名证书,但未配置完整的证书链(缺失中间CA证书),导致客户端无法追溯到信任的根CA
  • 服务器证书的域名(CN/SAN字段)与你访问的MLFLOW_TRACKING_URI中的域名不匹配
  • 服务器SSL配置错误,未正确加载证书文件或证书已过期

客户端可能的问题(即使安装了本地证书)

  • 未将服务器的根CA证书正确配置到MLFlow的信任路径中
  • Python运行环境未加载你安装的本地证书(比如certifi包使用独立的证书存储)

解决步骤

1. 先验证服务器端证书配置

使用openssl命令检查服务器证书链是否完整:

openssl s_client -connect your-mlflow-host:443 -showcerts

查看输出中是否包含完整的证书链(从服务器证书到中间CA再到根CA),同时确认证书的Subject字段中的域名与你访问的MLFlow域名一致。

2. 客户端配置修复

方法一:指定MLFlow信任的CA证书路径

在代码中添加环境变量指定CA证书路径:

os.environ['MLFLOW_TRACKING_CA_CERT_PATH'] = '/path/to/your/ca-certificate.pem'
# 生产环境必须关闭不安全模式
os.environ['MLFLOW_TRACKING_INSECURE_TLS'] = 'false'

方法二:临时跳过证书验证(仅限测试环境)

如果是测试环境且信任服务器,可以临时关闭证书验证:

os.environ['MLFLOW_TRACKING_INSECURE_TLS'] = 'true'

注意:生产环境绝对禁止使用此方法,会导致SSL连接失去安全性

方法三:将CA证书添加到Python默认证书存储

找到Python certifi包的证书文件路径:

import certifi
print(certifi.where())

将你的CA证书内容追加到该文件末尾,这样Python所有依赖SSL的库都会信任该证书。

总结

你的报错核心是客户端无法找到签发服务器证书的信任根CA,优先排查服务器端是否配置了完整的证书链,再确认客户端是否正确加载了对应的CA证书。

内容的提问来源于stack exchange,提问作者Dumb spxxd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:53:49