项目场景:国产中标麒麟操作系统部署MinIO正常启动后发现图片能正常上传,但是匿名浏览该图片的时候无法查看。通过网络查询解决方案,得出的结论是:需要把当前上传文件的桶设置为public,由于创建桶默认是private且不可通过浏览器进行修改,最后决定通过使用java代码的方式进行桶权限的修改,在修改过程中遇到一些网络问题,在此总结。
问题一的描述
MinIO图片可正常上传,但无法进行在线浏览,在线修改桶权限自动退出页面,通过java代码进行桶权限修改。
一、MinIO图片可正常上传,但无法进行在线浏览
二、查看MinIO网页确定图片已上传成功
三、查看MinIO网页图片所属桶权限为private,需要把桶权限修改为public,使用超级管理员进行浏览器修改权限却自动退出登入,看有专业人士博客说是8.0后的版本都不可以通过浏览器进行桶权限修改。
—
问题一的解决方案:
public static void main(String[] args) {
String sb = "{\"Version\":\"2012-10-17\"," +
"\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
"{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
"\"s3:GetBucketLocation\"],\"Resource\":[\"arn:aws:s3:::" + BucketName +
"\"]},{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":[\"*\"]},\"Action\":[\"s3:PutObject\",\"s3:AbortMultipartUpload\",\"s3:DeleteObject\",\"s3:GetObject\",\"s3:ListMultipartUploadParts\"],\"Resource\":[\"arn:aws:s3:::" +
BucketName +
"/*\"]}]}";
MinioClient minioClient = MinioClient.builder()
.endpoint(MinIO地址)
.credentials(登入名, 密码)
.build();
try {
minioClient.setBucketPolicy(SetBucketPolicyArgs.builder()
.bucket(BucketName)
.confi