温馨提示×

ubuntu minio怎样开启https

小樊
39
2026-10-22 09:58:39
栏目: 智能运维

在 Ubuntu 上让 MinIO 开启 HTTPS,常见做法有两类:

  1. MinIO 自带 TLS(推荐)
  2. 用 Nginx / Caddy 反代 HTTPS(也常用)

下面分别说明。


一、MinIO 原生支持 HTTPS(推荐方式)

1. 准备证书

MinIO 要求:

  • 证书文件:public.crt
  • 私钥文件:private.key

放到 MinIO 的 证书目录:

/etc/minio/certs/

示例:

sudo mkdir -p /etc/minio/certs
sudo cp public.crt /etc/minio/certs/
sudo cp private.key /etc/minio/certs/

⚠️ 注意:

  • 证书必须是 PEM 格式
  • 文件名必须叫 public.crt 和 private.key

2. 启动 MinIO(HTTPS 自动启用)

如果你是用 systemd 启动:

sudo systemctl restart minio

MinIO 会 自动检测证书并监听 HTTPS(默认 9000)

访问:

https://your-domain:9000

3. 自签名证书示例(测试用)

openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout private.key \
  -out public.crt

二、使用 Nginx 反向代理 HTTPS(生产常用)

适合你已经有域名 + 证书(如 Let’s Encrypt)

1. 安装 Nginx

sudo apt update
sudo apt install nginx

2. Nginx 配置示例

server {
    listen 443 ssl;
    server_name minio.example.com;

    ssl_certificate     /etc/letsencrypt/live/minio.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/minio.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1:9000;
        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;
    }
}

3. 重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

访问:

https://minio.example.com

三、MinIO Console(Web 管理)HTTPS

如果你同时用了 minio console(默认 9001):

  • 原生 TLS:在 /etc/minio/certs 放证书即可
  • Nginx:再反代 9001 端口

四、常见问题

❓ MinIO 还是 HTTP?

  • 检查证书文件名
  • 检查权限
  • 查看日志:
journalctl -u minio -f

❓ 浏览器提示不安全

  • 自签名证书需手动信任
  • 生产环境用 Let’s Encrypt

如果你愿意,可以告诉我:

  • MinIO 安装方式(二进制 / docker / apt)
  • 是否已有域名和证书
  • 是否用 Docker

我可以给你 完全对应的配置示例。

0 踩