news 2026/7/2 3:42:21

python连接minio报错:‘SSL routines‘, ‘ssl3_get_record‘, ‘wrong version number‘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python连接minio报错:‘SSL routines‘, ‘ssl3_get_record‘, ‘wrong version number‘

这个错误表明你的Python程序在尝试通过HTTPS连接到MinIO服务器时,SSL握手失败了。根本原因是客户端和服务器在SSL/TLS协议版本或端口使用上存在不匹配。

让我们来详细分析并解决这个问题:

错误原因分析

  1. 核心错误OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_record', 'wrong version number')]

    • 这通常表示客户端尝试用SSL/TLS协议连接到一个实际上并未使用SSL/TLS的端口,或者协议版本不匹配。
  2. 连接信息:你正在尝试连接到119.84.128.79:39000

    • 这是一个非标准的HTTPS端口(通常HTTPS使用443端口)
    • MinIO默认使用9000端口(HTTP)和9001端口(HTTPS)
  3. 可能的原因

    • MinIO服务器实际上在39000端口上运行的是HTTP服务,但你的客户端尝试用HTTPS连接
    • SSL/TLS协议版本不兼容
    • 防火墙或代理干扰了SSL握手
    • MinIO服务器配置问题

解决方案

方案1:检查MinIO服务器配置(最可能)

首先确认你的MinIO服务器实际配置:

  1. 检查MinIO是否启用了HTTPS

    # 登录到MinIO服务器,检查运行参数psaux|grepminio

    查看是否包含--address ":39000"--ssl相关参数

  2. 尝试用curl测试连接

    # 测试HTTP连接curl-v http://119.84.128.79:39000# 测试HTTPS连接curl-v https://119.84.128.79:39000# 如果服务器使用自签名证书curl-v -k https://119.84.128.79:39000
  3. 根据测试结果调整客户端代码

    • 如果39000端口是HTTP,修改MinIO客户端初始化代码:
      fromminioimportMinio# 改为使用http而不是httpsminio_client=Minio('119.84.128.79:39000',access_key='your-access-key',secret_key='your-secret-key',secure=False# 禁用SSL)
方案2:检查网络和代理设置
  1. 确认没有代理干扰

    importos# 确保没有设置不正确的代理os.environ['NO_PROXY']='119.84.128.79'
  2. 尝试禁用SSL验证(仅测试用)

    fromminioimportMiniofromurllib3importdisable_warningsfromurllib3.exceptionsimportInsecureRequestWarning disable_warnings(InsecureRequestWarning)minio_client=Minio('119.84.128.79:39000',access_key='your-access-key',secret_key='your-secret-key',secure=True# 保持为True,但我们将禁用验证)# 强制禁用SSL验证(不推荐生产环境使用)importssl minio_client._http.ssl_context=ssl._create_unverified_context()
方案3:更新相关库
pipinstall--upgrade minio urllib3 pyOpenSSL
方案4:检查MinIO服务器SSL证书

如果MinIO确实配置了HTTPS,但使用自签名证书:

  1. 获取服务器证书

    openssl s_client -connect119.84.128.79:39000 -showcerts</dev/null2>/dev/null|openssl x509 -outform PEM>minio.crt
  2. 在客户端代码中指定证书

    importsslfromminioimportMinio# 创建自定义SSL上下文ssl_context=ssl.create_default_context(cafile='path/to/minio.crt')minio_client=Minio('119.84.128.79:39000',access_key='your-access-key',secret_key='your-secret-key',secure=True,ssl=ssl_context)

推荐排查步骤

  1. 首先确认MinIO服务器实际配置- 这是最可能的问题所在
  2. 使用curl测试连接- 确定端口实际使用的协议
  3. 根据测试结果调整客户端配置- 修改secure参数或SSL设置
  4. 检查网络连通性- 确保没有防火墙或代理干扰

根据你的错误信息,最可能的情况是MinIO服务器在39000端口上运行的是HTTP服务,但你的客户端尝试用HTTPS连接。请首先尝试方案1中的修改,将secure=False添加到MinIO客户端初始化中。

如果问题仍然存在,请提供更多关于你的MinIO服务器配置的信息,我可以给出更具体的建议。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 19:07:16

网页版三国杀即开即玩:零安装快速体验指南

网页版三国杀即开即玩&#xff1a;零安装快速体验指南 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 还在为传统三国杀需要下载安装而烦恼吗&#xff1f;想要随时随地享受策略对决却受限于设备&#xff1f;网页版三国杀正是你期待…

作者头像 李华
网站建设 2026/7/1 8:49:27

【高并发系统必备技能】:手把手教你实现可靠的Redis分布式锁

第一章&#xff1a;Redis分布式锁的核心概念与应用场景在分布式系统架构中&#xff0c;多个服务实例可能同时访问共享资源&#xff0c;如何保证操作的原子性和一致性成为关键问题。Redis分布式锁正是为解决此类场景而生的一种高效协调机制。它利用Redis的单线程特性和高性能读写…

作者头像 李华
网站建设 2026/7/1 8:49:28

表单渲染性能提升10倍的秘密,低代码引擎优化全揭秘

第一章&#xff1a;表单渲染性能提升10倍的秘密&#xff0c;低代码引擎优化全揭秘在现代前端架构中&#xff0c;低代码平台的表单渲染性能直接影响用户体验与系统响应速度。当表单字段数量超过百级时&#xff0c;传统递归渲染方式往往导致页面卡顿甚至崩溃。通过深度优化虚拟DO…

作者头像 李华
网站建设 2026/7/1 8:49:29

彩虹骨骼UI开发:MediaPipe Hands可视化界面设计

彩虹骨骼UI开发&#xff1a;MediaPipe Hands可视化界面设计 1. 引言&#xff1a;AI 手势识别与追踪的现实价值 随着人机交互技术的不断演进&#xff0c;手势识别正逐步从科幻场景走向日常应用。无论是智能穿戴设备、虚拟现实&#xff08;VR&#xff09;、增强现实&#xff08…

作者头像 李华
网站建设 2026/7/1 8:49:28

3分钟极速体验:开源三国杀革新之作

3分钟极速体验&#xff1a;开源三国杀革新之作 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 还在为传统三国杀繁琐的安装过程而烦恼吗&#xff1f;想要随时随地体验原汁原味的三国杀对决却苦于设备限制&#xff1f;这款开源的三国…

作者头像 李华
网站建设 2026/7/1 22:03:41

彩虹骨骼动态渲染:实时视频流处理部署教程

彩虹骨骼动态渲染&#xff1a;实时视频流处理部署教程 1. 引言 1.1 学习目标 本文将带你从零开始&#xff0c;完整部署并运行一个基于 MediaPipe Hands 模型的 AI 手势识别系统&#xff0c;实现高精度手部关键点检测与极具视觉冲击力的“彩虹骨骼”动态渲染效果。你将掌握如…

作者头像 李华