使用Docker部署MINIO服务并启用HTTPS访问

云服务器防火墙配置

防火墙开放9000-9001端口

Docker Compose 配置

docker-compose.yaml配置,其中主要的是 MINIO_SERVER_URLMINIO_BROWSER_REDIRECT_URL

version: '3'
services:
  minio:
    image: minio/minio
    container_name: minio
    ports:
      # api 端口
      - "9000:9000"
      # 控制台端口
      - "9001:9001"
    environment:
      # 时区上海
      TZ: Asia/Shanghai
      # 管理后台用户名
      MINIO_ROOT_USER: minio
      # 管理后台密码,最小8个字符
      MINIO_ROOT_PASSWORD: your-password
      # https需要指定域名
      MINIO_SERVER_URL: "https://your-domain-or-ip:9000"
      MINIO_BROWSER_REDIRECT_URL: "https://your-domain-or-ip:9001"
      # 开启压缩 on 开启 off 关闭
      MINIO_COMPRESS: "off"
      # 扩展名 .pdf,.doc 为空 所有类型均压缩
      MINIO_COMPRESS_EXTENSIONS: ""
      # mime 类型 application/pdf 为空 所有类型均压缩
      MINIO_COMPRESS_MIME_TYPES: ""
    volumes:
      # 映射当前目录下的data目录至容器内/data目录
      - /docker/minio/data:/data
      # 映射配置目录
      - /docker/minio/config:/root/.minio/
    command: server --address ':9000' --console-address ':9001' /data  # 指定容器中的目录 /data
#    privileged: true
#    network_mode: "host"
    restart: always

Nginx 配置

配置nginx.conf转发

server
{
    listen 80;
    listen 443 ssl http2 ;
    server_name your-domain-or-ip;

    location / {
        try_files $uri $uri/ /index.html;
    }
    
    # 此处为minio文件转发
    location ^~ /minio-bucket-name {
        proxy_set_header Host $http_host;
        proxy_set_header  X-Real-IP    $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass https://your-domain-or-ip:9000;
    }

    # 此处为server的api服务转发
    location /api/ {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # websocket参数
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        # proxy_pass http://server/;
        proxy_pass http://127.0.0.1:8080/;
    }
}

MINIO 设置

管理后台设置

输入 http://your-domain-or-ip:9001 进入 minio 管理后台。
进入Buckets菜单,创建一个bucket,名字为minio-bucket-name,设置Access Policypublic
进入Configuration菜单,设置Regioncn-west-1

配置 MinIO 使用 SSL 证书

证书申请成功后,下载生成的 SSL 证书文件(通常包括 .crt 和 .key 文件)。
我们可以将 SSL 证书文件拷贝到 MinIO 容器中或者挂载证书目录到容器中。
这里我们docker-compose.yaml的配置如下

# 映射配置目录
- /docker/minio/config:/root/.minio/

.crt.key文件上传到服务器,将证书文件命名为public.crtprivate.key,并放在/docker/minio/config/certs目录下:

/docker/minio/config/certs/public.crt
/docker/minio/config/certs/private.key

现在,你可以通过 https://your-domain-or-ip:9000 访问 MinIO 控制台,并使用 HTTPS 进行安全连接

如需转载,请注明出处: https://chadou.me/p/258

最新发布