这是由于博主太久没有写过项目了,所以忘记了minio如何配置才导致的一个错误,写出来只是防止自己在未来又出现同样的问题,同时也是给出现同样问题的朋友们一个小小的帮助。
大家都知道,我们在springboot项目中整合minio,使用它的上传与下载功能时,需要引入minio的依赖。
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
然后在application.yml文件当中去配置minio需要的值,同时通过创建一个配置类要引用在配置文件当中配置的值。
fx:
minio:
endpoint: xxxxxxxx
accessKey: xxxxxx
secretKey: xxxxxx
bucketName: xxxxxx
当我把一切完成之后,我开始了我的测试之旅。在程序开始的时候,一切正常,但是当一切都一帆风顺的时候,你就要谨慎接下来可能要发生什么事情了。。。果不其然,在我调用上传的接口的时候,它给我报错了。
它告诉我无法连接至服务器的443端口,但是我一再检查服务器的端口开放,443端口都是很正常地处于开启状态 ,我就奇了怪了,为什么会去访问443端口。之后我在一篇帖子中看到了,endpoint后面不仅要配置主机ip地址,还要加上它的端口号!因此我猜测,可能是minio会去默认访问443端口。
于是我在ip后面加上了端口号,重新启动!
正当我觉得稳了的时候,它又又又报错了,这次更加的离谱,连程序启动都启动不了,不要说调用接口了,报错是这样的。
我能看出来这是参数错误,但是我打断点点进源码去看我都没发现在哪个地方参数错误了,所以我又陷入了停滞。迫不得已我只能找找minio改如何使用了。诶嘿,你还别说,还真让我找到问题出在哪了,我对比了别人的配置和我的配置,问题就出在了四个字母上! 没错,那就是http。当我把http://加在了ip地址的前面时,我成功的运行起来了并且成功上传。
至此,完结撒花!这个问题困扰了我一个晚上。
如果有大佬看到了我的文章,并且了解为什么endpoint一定要这个形式,可以方便在评论区评论或者私信我呀,非常感谢!