解决Java整合minio错误:S3 API Request made to Console port. S3 Requests should be sent to API port

Posted 小花皮猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Java整合minio错误:S3 API Request made to Console port. S3 Requests should be sent to API port相关的知识,希望对你有一定的参考价值。

问题描述

今天使用Java整合minio想要做一些文件上传,但是在整合中的过程报错了。

<Error>
  <Code>AccessDenied</Code>
  <Message>S3 API Request made to Console port. S3 Requests should be sent to API port.</Message>
  <RequestId>0</RequestId>
</Error>

io.minio.errors.InvalidResponseException: Non-XML response from server. Response code: 403, Content-Type: text/xml; charset=utf-8, body: <?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>AccessDenied</Code>
  <Message>S3 API Request made to Console port. S3 Requests should be sent to API port.</Message>
  <RequestId>0</RequestId>
</Error>

解决问题

看了网上很多种说法,有人说是配置不对,也有人说用户或者桶的权限不足,反正五花八门,我基本上按照这些说法都试了,但是并不能解决我的问题。

最终查看了下服务器上的minio,找到了原因:端口用错了

配置文件里面用了Console 控制台的端口,应该使用API端口

之前用的端口是9001,改成9000就好了

再次测试,文件可以正常上传。解决问题

以上是关于解决Java整合minio错误:S3 API Request made to Console port. S3 Requests should be sent to API port的主要内容,如果未能解决你的问题,请参考以下文章

对象存储服务MinIO安装,编写Starter整合,及永久链接配置

使用 S3 Java SDK 与 S3 兼容存储通信 (minio)

Spring Boot 整合 Minio 实现文件上传

java 使用AWS Java SDK构建本地Minio S3客户端

Django S3 minio

MinIO 集群搭建