使用Nginx反向代理minio,提供文件公共访问 您所在的位置:网站首页 nginx反向代理域名访问 使用Nginx反向代理minio,提供文件公共访问

使用Nginx反向代理minio,提供文件公共访问

#使用Nginx反向代理minio,提供文件公共访问| 来源: 网络整理| 查看: 265

使用Nginx反向代理minio,提供文件公共访问 发布于:2022-4-19 Nginx 5条评论 10,440 views 本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主QQ:446199062

MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。

在之前的一篇文章介绍了《使用Docker搭建minio对象存储与mc客户端常用命令》,这篇文章继续分享下如何将minio的存储桶设置为公有读、私有写,并且通过nginx反向代理实现文件公共访问。

注意:阅读此文章的用户需要一定Linux基础知识和阅读官网文档的习惯。

前提

已经搭建好minio服务,并且安装好了mc客户端,同时已将存储添加到mc客户端配置中。

Docker搭建可参考:https://www.xiaoz.me/archives/16215其它搭建方式也可以参考:http://docs.minio.org.cn/docs/(这个中文版文档可能不是最新的,需要最新的可以去英文版官网)安装好mc客户端:MinIO客户端快速入门指南设置minio存储桶为公有读、私有写

用过国内对象存储的同学可能知道服务商会提供一个存储桶设置公有读、私有写的功能,这个场景应用非常广泛,比如静态文件的分发访问。minio是一个兼容S3协议的存储,S3上似乎没有这个公有读、私有写的概念。S3上叫policy(管理访问策略)

如果需要将minio某个存储桶设置为公有读、私有写,只需要将policy策略设置为download即可,命令如下:

#设置minio的匿名访问策略,可选值有none, download, upload, public mc policy set upload host/bucket/ #查看匿名策略 mc policy list host/bucket/host:就是你在mc config host add时设置的名称bucket:指存储桶的名称

设置完毕后,我们可以通过访问http://IP:9000/bucket/file_name来进行测试,如果不加任何参数,能直接访问到文件,说明设置已经生效。

通过Nginx反向代理进行访问

minio默认访问接口使用9000端口号,每次都带上端口访问显然不太方便,一般是结合nginx反向代理来访问。xiaoz写了一个nginx反向代理的配置,大家可以用作参考:

server { listen 443 ssl http2; #改成你自己的SSL证书路径 ssl_certificate /path/domain.com.crt; ssl_certificate_key /path/domain.com.key; ssl_session_timeout 1d; #ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security max-age=15768000; proxy_buffering off; #domain.com改成你自己的域名 server_name domain.com; #网站日志的路径,注意nginx用户需要可写,如果不需要可以注释掉 access_log /data/wwwlogs/domain.com.log combined; charset utf-8,gbk; location / { #开启自定义错误页面 proxy_intercept_errors on; proxy_connect_timeout 300; # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 proxy_http_version 1.1; proxy_set_header Connection ""; chunked_transfer_encoding off; #bucket改成你自己的存储桶名称,注意:末尾需要带有一个/ proxy_pass http://127.0.0.1:9000/bucket/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #客户端缓存时间,这里设置为7天,根据自己的需要设置即可 expires 7d; add_header XCDN-Cache "$upstream_cache_status"; #可以在存储桶事先上传一个html文件或者图片,用作404页面,然后改成存储桶下面的绝对路径,以/开头,如果不需要,可以将其注释 error_page 404 /404.png; } } server { # 301重定向 listen 80; server_name domain.com; rewrite ^(.*) https://domain.com$1 redirect; }

设置完毕后通过nginx -t检查配置是否正确,并重载nginx配置nginx -s reload,然后通过你的域名http://domain.com/filename进行访问测试。

相关推荐使用Docker搭建minio对象存储与mc客户端常用命令ImgURL Pro图床程序也支持使用minio存储,点此6折购买

标签: minio, nginx 配置, 对象存储

老薛主机,快速免备案,下单享7.5折优惠 上一篇:通过Docker部署一个open_nsfw搭建一个私有的图片鉴黄API 下一篇:OneNav书签管理程序0.9.19更新,二级分类她来了 赞 0 打赏


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有