当前位置: 首页 > 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.hkea.cn/news/14480835/

相关文章:

  • 楼书设计素材网站免费1级做爰片观看网站在线视频
  • 滕州盛扬网络公司网站建设推广创业平台排名
  • 个人做网站用什么技术python 做网站 套件
  • 做网站前期工作哪些php网站
  • 网站开发的关键技术有哪些做网站是做完给钱还是
  • 学院网站建设作用鹰潭建设网站公司
  • 低成本做网站vps上安装wordpress
  • 设计网站大全免费下载网页制作步骤图文
  • 要如何做才能拥有自己的网站呢微信公众号免费做影视网站
  • 做淘宝客网站教程购物网站建设需求模板下载
  • 太仓网站建设网站推广苏州科建设交通学院网站
  • 摄影网站cnu视觉联盟软件开发的公司
  • 定制网站多少钱网站建设公司-跨界鱼科技优
  • 上海网站公北京哪有建网站公司或个人的
  • 江浦做网站html转wordpress教程视频
  • 房间装修风格网站seo优化公司
  • 石家庄网站建设培训学校wordpress内链
  • 信息化建设网站棋牌网站开发需要多少钱
  • 佛山提供网站设计报价软件开发培训课程咨询
  • 做app和做网站的区别成都网站设计定制
  • 网站建设实施方案ppt网站打开速度与服务器
  • 北京网站seo公司济南房产信息网
  • 电子商务网站实例无极
  • 网站如何备案icp备案有哪些网站是做背景图片素材的
  • 网站都有什么功能wordpress插件无法安装
  • jsp商务网站建设上海网站建设工作
  • 网站设计的优缺点绍兴酒店网站建设
  • wordpress视屏播放器四川做网站优化价格
  • 体育网站界面该怎样做copyright wordpress
  • 蚌埠专业制作网站的公司大数据精准营销的策略