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

大型网站建设地址外贸网络推广怎么做

大型网站建设地址,外贸网络推广怎么做,网站建设公司组织架构,大连网站建设吗minio的public桶因为没有限制#xff0c;所以在直接访问到桶地址的时候会列出桶内所有文件的url#xff0c;这样很不安全#xff0c;如何禁止这个功能#xff0c;可以使用三种方法 1、如果是新版的可以直接设置桶的Access Policy为自定义就好 编辑custom的Policy#xff…minio的public桶因为没有限制所以在直接访问到桶地址的时候会列出桶内所有文件的url这样很不安全如何禁止这个功能可以使用三种方法 1、如果是新版的可以直接设置桶的Access Policy为自定义就好 编辑custom的Policy去掉Action集合中的ListBucket就可以了如下是去掉后的json {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: [*]},Action: [s3:GetBucketLocation,s3:ListBucketMultipartUploads],Resource: [arn:aws:s3:::桶名称]},{Effect: Allow,Principal: {AWS: [*]},Action: [s3:AbortMultipartUpload,s3:DeleteObject,s3:GetObject,s3:ListMultipartUploadParts,s3:PutObject],Resource: [arn:aws:s3:::桶名称/*]}] } 设置完后 2、有些minio版本不支持直接设置那就要通过minio Client设置桶的custom的Policy了 下载地址http://dl.minio.org.cn/client/mc/release/linux-amd64/mc 下载后放到服务器上然后根据以下命令运行即可 1添加连接服务 ./mc config host add minio http://127.0.0.1:9000 用户名 密码 2查看已连接的服务查看上步添加的minio连接服务是否成功 ./mc config host list 3置PUBLIC桶的访问权限 ./mc anonymous set-json  /home/aadata/minio/自定义桶的Policy的json文件.json  minio/桶名 自定义桶的Policy的json文件.json文件如下 {Version: 2012-10-17,Statement: [{Effect: Allow,Principal: {AWS: [*]},Action: [s3:GetBucketLocation,s3:ListBucketMultipartUploads],Resource: [arn:aws:s3:::桶名]},{Effect: Allow,Principal: {AWS: [*]},Action: [s3:AbortMultipartUpload,s3:DeleteObject,s3:GetObject,s3:ListMultipartUploadParts,s3:PutObject],Resource: [arn:aws:s3:::桶名/*]}] } 4删除第一部添加的服务 ./mc config host remove minio  3、直接代码中实现设置桶的Policy参照下面代码自行理解吧 import java.io.File; import java.io.FileInputStream; import java.io.InputStream;import io.minio.*; import io.minio.http.Method;public class Minio {/*** minio参数*/private static final String ENDPOINT http://127.0.0.1:9000;private static final String ACCESS_KEY ******;private static final String SECRET_KEY ******;/*** 桶占位符*/private static final String BUCKET_PARAM ${bucket};/*** bucket权限-只读*/private static final String READ_ONLY {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucket\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetObject\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** bucket权限-只读*/private static final String WRITE_ONLY {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucketMultipartUploads\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:AbortMultipartUpload\,\s3:DeleteObject\,\s3:ListMultipartUploadParts\,\s3:PutObject\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** bucket权限-读写*/private static final String READ_WRITE {\Version\:\2012-10-17\,\Statement\:[{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:GetBucketLocation\,\s3:ListBucket\,\s3:ListBucketMultipartUploads\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM \]},{\Effect\:\Allow\,\Principal\:{\AWS\:[\*\]},\Action\:[\s3:DeleteObject\,\s3:GetObject\,\s3:ListMultipartUploadParts\,\s3:PutObject\,\s3:AbortMultipartUpload\],\Resource\:[\arn:aws:s3::: BUCKET_PARAM /*\]}]};/*** 文件url前半段** param bucket 桶* return 前半段*/public static String getObjectPrefixUrl(String bucket) {return String.format(%s/%s/, ENDPOINT, bucket);}/*** 创建桶** param bucket 桶*/public static void makeBucket(String bucket) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();// 判断桶是否存在boolean isExist client.bucketExists(BucketExistsArgs.builder().bucket(bucket).build());if (!isExist) {// 新建桶client.makeBucket(MakeBucketArgs.builder().bucket(bucket).build());}}/*** 更新桶权限策略** param bucket 桶* param policy 权限*/public static void setBucketPolicy(String bucket, String policy) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();switch (policy) {case read-only:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(READ_ONLY.replace(BUCKET_PARAM, bucket)).build());break;case write-only:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(WRITE_ONLY.replace(BUCKET_PARAM, bucket)).build());break;case read-write:client.setBucketPolicy(SetBucketPolicyArgs.builder().bucket(bucket).config(READ_WRITE.replace(BUCKET_PARAM, bucket)).build());break;case none:default:break;}}/*** 上传本地文件** param bucket 桶* param objectKey 文件key* param filePath 文件路径* return 文件url*/public static String uploadFile(String bucket, String objectKey, String filePath) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.uploadObject(UploadObjectArgs.builder().bucket(bucket).object(objectKey).filename(filePath).contentType(image/png).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 流式上传文件** param bucket 桶* param objectKey 文件key* param inputStream 文件输入流* return 文件url*/public static String uploadInputStream(String bucket, String objectKey, InputStream inputStream) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.putObject(PutObjectArgs.builder().bucket(bucket).object(objectKey).stream(inputStream, inputStream.available(), -1).contentType(image/png).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 下载文件** param bucket 桶* param objectKey 文件key* return 文件流*/public static InputStream download(String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();return client.getObject(GetObjectArgs.builder().bucket(bucket).object(objectKey).build());}/*** 文件复制** param sourceBucket 源桶* param sourceObjectKey 源文件key* param bucket 桶* param objectKey 文件key* return 新文件url*/public static String copyFile(String sourceBucket, String sourceObjectKey, String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();CopySource source CopySource.builder().bucket(sourceBucket).object(sourceObjectKey).build();client.copyObject(CopyObjectArgs.builder().bucket(bucket).object(objectKey).source(source).build());return getObjectPrefixUrl(bucket) objectKey;}/*** 删除文件** param bucket 桶* param objectKey 文件key*/public static void deleteFile(String bucket, String objectKey) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();client.removeObject(RemoveObjectArgs.builder().bucket(bucket).object(objectKey).build());}/*** 获取文件签名url** param bucket 桶* param objectKey 文件key* param expires 签名有效时间 单位秒* return 文件签名地址*/public static String getSignedUrl(String bucket, String objectKey, int expires) throws Exception {MinioClient client MinioClient.builder().endpoint(ENDPOINT).credentials(ACCESS_KEY, SECRET_KEY).build();return client.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().method(Method.GET).bucket(bucket).object(objectKey).expiry(expires).build());}public static void main(String[] args) {String bucket public;String objectKey demo/123.png;try {// 创建桶makeBucket(bucket);// 设置桶读写权限setBucketPolicy(bucket, read-write);// 上传本地文件String url1 uploadFile(bucket, objectKey, D://123.png);// 输出 http://127.0.0.1:9000/demo/123.pngSystem.out.println(url1);// 上传文件流String url2 uploadInputStream(bucket, objectKey, new FileInputStream(new File(D://123.png)));// 输出 http://127.0.0.1:9000/demo/123.pngSystem.out.println(url2);// 下载文件InputStream inputStream download(bucket, objectKey);// 文件复制String url3 copyFile(bucket, objectKey, test, test/abc.png);// 输出 http://127.0.0.1:9000/test/abc.pngSystem.out.println(url3);// 删除文件deleteFile(test, test/abc.png);// 获取文件签名urlString sign getSignedUrl(bucket, objectKey, 600);// 该路径可访问文件五分钟System.out.println(sign);} catch (Exception e) {e.printStackTrace();}} }
http://www.w-s-a.com/news/304530/

相关文章:

  • 做网站难吗?wordpress评论qq
  • 权威网站优化价格电子商务静态网站建设实验报告
  • 公司如何办网站北京网站建设公司内江
  • 六安建设网站企业营业执照查询系统入口
  • a5网站建设如果建设淘宝导购网站
  • html5响应式网站开发教程在国内做跨境电商怎么上外国网站
  • win7配置不能运行wordpress关键词快速优化排名软件
  • 餐饮公司最好的网站建设手机网站 搜索优化 百度
  • 17网站一起做网批做服装团购网站
  • 广州网站制作知名企业网站搭建品牌
  • 如何去除网站外链个人网页制作全过程
  • 保洁公司网站怎么做科技设计网站有哪些内容
  • 建设厅网站查询网页设计好就业吗
  • 惠东县网站建设wordpress 如何回到初始
  • 如何让公司网站网站转备案
  • 获得网站所有关键字北京网站建设116net
  • 铜陵电子商务网站建设做龙之向导网站有用吗
  • 购物网站制作费用沧州新华区
  • 信宜网站设计公司在线购物商城系统
  • 网站维护是什么样如何制作网站教程视频讲解
  • 网站建设网络推广代理公司wordpress图片防盗链
  • 网站备案关站沈阳男科医院哪家好点
  • 王者荣耀网站建设的步骤网站页面用什么软件做
  • 典型网站开发的流程房屋装修效果图三室一厅
  • 制作微网站多少钱阿里巴巴做网站的电话号码
  • 风铃建站模板安卓手机软件开发外包
  • 深圳市住房和建设局门户网站域名转移影响网站访问吗
  • 做母婴网站赚钱汕头百姓网
  • 那个网站建设好动漫制作技术升本可以升什么专业
  • 网站建设企业响应式网站模板广西建设部投诉网站