文档见: https://docs.min.io/cn/
注意:不管使用什么样的部署形式,只要把url 映射好,在web端就能正常访问。
api 部分:
1、连接的时候,必须使用域名,不允许使用域名+path 的形式。在同一个主机上部署多个子服务(mino 是其中一个子服务)并且这些子服务公用一个域名的情况下(使用path 进行区分不同的子服务,常用于解决前端跨域的情形下),需要特殊处理。见 minio 与其他服务公用同一个域名
minio 与其他服务公用同一个域名(以nginx 配置为例,minio服务映射到9520端口)
1、web端path映射:
location /minio/ { # /minio/abc => 127.0.0.1:9520/minio/abc proxy_pass http://127.0.0.1:9520/minio/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 5; }
在浏览器端访问 XXX/minio/ 就能正常管理minio
2、api 使用的minio的时候,会在根目录下进行操作。比如 domain=XXX bucket=example 。 api 会直接访问XXX/example 可能就访问到其他子系统中了。这里正确的打开方式是 在每个桶前端加一个前缀,eg, "minio-" 。 那么映射path 如下:
#minio 桶名 用于在api 传输。minio 要求在根目录上进行部署。不允许在子目录上进行部署 location ^~ /minio- { # 以minio- 开头的桶名都直接映射到 9520中 proxy_pass http://127.0.0.1:9520; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 5; }
并注意允许PUT,DELETE方法
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS,PUT,DELETE,HEAD';