当前位置: 首页 > news >正文

解决 MinIO 上传文件时报 S3 API Requests must be made to API port错误

在使用 MinIO 进行文件上传时,我遇到了一个比较坑的问题。错误日志如下:

io.minio.errors.InvalidResponseException: Non-XML response from server. Response code: 400, Content-Type: text/xml; charset=utf-8, body: <?xml version="1.0" encoding="UTF-8"?><Error><Code>InvalidArgument</Code><Message>S3 API Requests must be made to API port.</Message><RequestId>0</RequestId></Error>at io.minio.S3Base.execute(S3Base.java:577)at io.minio.S3Base.getRegion(S3Base.java:691)at io.minio.S3Base.execute(S3Base.java:464)at io.minio.S3Base.executeHead(S3Base.java:725)at io.minio.MinioClient.bucketExists(MinioClient.java:1135)at com.sky.service.impl.FileServiceImpl.upload(FileServiceImpl.java:31)at com.sky.controller.admin.FileUploadController.upload(FileUploadController.java:31)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

在这里插入图片描述


问题原因

S3 API 请求必须发送到 API 端口,而不是其他端口

在 MinIO 中有两类端口:

  • API 端口:用于 S3 协议的文件上传下载

  • Console(Web UI)端口:用于浏览器访问管理界面

如果在代码中配置了 Console 端口,MinIO 会直接拒绝请求,并返回这个错误

我的错误配置

检查项目的配置文件 application.yml,发现我写的是 9000 端口:

minio:  endpoint: http://127.0.0.1:9000  access-key: root  secret-key: 12345678  bucket-name: lease

9000 其实是 Web 控制台端口,不是 API 端口:

查找的正确端口

打开运行 MinIO 的终端,可以看到启动信息里明确写了 API 和 WebUI 的端口:

在这里插入图片描述

可以看到:

  • API 端口9005

  • WebUI 端口9000

解决方案

application.yml 中的端口改成 API 端口即可:

minio:  endpoint: http://127.0.0.1:9005  access-key: root  secret-key: 12345678  bucket-name: lease

修改配置后重新运行项目,文件上传成功 ✅:

在这里插入图片描述

http://www.dtcms.com/a/321908.html

相关文章:

  • 半精度权重 及 Phi-3线性层的权重分布
  • Node.js版本管理,方便好用
  • Mybatis注解开发与事务
  • MPLS LDP标签的分发与管理
  • Linux基础命令速查:从入门到精通
  • 搜广推校招面经一百零三
  • 从手工到智能决策,ERP让制造外贸企业告别“数据孤岛“降本增效
  • Flow的进阶学习2025
  • 亚马逊广告运营如何平衡ASIN投放和关键词投放
  • 用不均匀硬币实现公平决策
  • 虚拟机Ubuntu图形化界面root用户登录错误
  • Python的七大框架对比分析
  • 《嵌入式数据结构笔记(六):二叉树》
  • 【C语言:一个整数分离出每一位数后求重新组合后接近于某个数的整数】
  • STM32传感器模块编程实践(十三)人脸识别模块简介及驱动
  • Redis缓存击穿、穿透雪崩
  • ADB 命令执行模块开发:双模式(普通模式Shell交互模式)实现、线程安全与资源管理优化
  • Linux系统层IO
  • Node.js 》》数据验证 Joi 、express-joi
  • 【数字图像处理系列笔记】Ch06:图像压缩
  • 数据结构5-哈希表
  • 板卡如何安装在主机系统(刀片服务器或计算节点)
  • Linux之shell脚本入门
  • Unity基于Recoder的API写了一个随时录屏的工具
  • http状态码403,404,500等是什么意思?
  • Cursor CLI 来了,准备 Build anything
  • Sum of Three Values(sorting and searching)
  • 全面了解selenium
  • RSA非对称加密
  • 除了腾讯会议,私有化有哪些选择?