文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

使用 Certbot 为 MinIO 生成 Let’s Encrypt 证书Slack

Let’s Encrypt是一个新的免费、自动化且开源的证书颁发机构。

Certbot是一个基于控制台的 Let’s Encrypt 证书生成工具。

在本方案中,我们将使用 Certbot 生成 Let's Encrypt 证书。该证书随后将部署到 MinIO 服务器中使用。

1. 先决条件

2. 依赖项

  • 在执行时,需要确保 443 端口对 https 保持开放且可用certbot.

  • Certbot 在执行时需要 root 权限,因为只有 root 用户才能绑定 1024 以下的端口。

  • 我们将使用我们自己的域名myminio.com作为本示例中的一个范例。请根据您的设置替换为您自己的域名。

3. 配方步骤

第一步:安装 Certbot

按照 https://certbot.eff.org/ 上的文档安装 Certbot

Step 2: 生成 Let’s Encrypt 证书

# certbot certonly --standalone -d myminio.com --staple-ocsp -m test@yourdomain.io --agree-tos

Step 3: 验证证书

列出已保存的证书/etc/letsencrypt/live/myminio.com目录。

$ ls -l /etc/letsencrypt/live/myminio.com
total 4
lrwxrwxrwx 1 root root  37 Aug  2 09:58 cert.pem -> ../../archive/myminio.com/cert4.pem
lrwxrwxrwx 1 root root  38 Aug  2 09:58 chain.pem -> ../../archive/myminio.com/chain4.pem
lrwxrwxrwx 1 root root  42 Aug  2 09:58 fullchain.pem -> ../../archive/myminio.com/fullchain4.pem
lrwxrwxrwx 1 root root  40 Aug  2 09:58 privkey.pem -> ../../archive/myminio.com/privkey4.pem
-rw-r--r-- 1 root root 543 May 10 22:07 README

步骤4:使用证书在MinIO服务器上设置SSL。

通过 Certbot 生成的证书和密钥需要放置在用户的主目录中。

$ cp /etc/letsencrypt/live/myminio.com/fullchain.pem /home/user/.minio/certs/public.crt
$ cp /etc/letsencrypt/live/myminio.com/privkey.pem /home/user/.minio/certs/private.key

Step 5: 更改证书所有权。

$ sudo chown user:user /home/user/.minio/certs/private.key
$ sudo chown user:user /home/user/.minio/certs/public.crt

步骤6:使用HTTPS启动MinIO服务器。

如果您不打算使用 MinIO 运行root要使用低于1024的端口,您需要通过以下命令赋予MinIO监听这些端口的权限:

sudo setcap 'cap_net_bind_service=+ep' ./minio

现在,您可以在端口“443”上启动 MinIO 服务器。

$ ./minio server --address ":443" /mnt/data

如果您使用的是 Docker 版本的 MinIO,那么您将需要

$ sudo docker run -p 443:443 -v /home/user/.minio:/root/.minio/ -v /home/user/data:/data minio/minio server --address ":443" /data

Step 7: 访问https://myminio.com在浏览器中。

Letsencrypt