中文文档

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

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

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

在这个教程中,我们将使用Certbot生成一个Let’s Encrypt证书。然后将该证书部署到MinIO服务器中供使用。

1. 先决条件

2. 处 理依赖关系

  • 在执行 certbot 时,需要打开并可用于HTTPS的端口443。

  • 在执行过程中,certbot需要root权限,因为只有root用户才被允许绑定到1024以下的任何端口。

  • 在本示例中,我们将使用我们自己的域名 minio.org.cn 。在您的设置中,请将其替换为您自己的域名。

3. 教程和操作步骤

第一步: 安装Certbot

安装Certbot的文档详细说明查看地址为: https://certbot.eff.org/

第二步: 生成 Let’s Encrypt证书

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

第三步: 验证证书

列出保存在 /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

第四步: 使用证书在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

第五部: Change ownership of certificates.

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

第六部: 开始让MinIO服务器使用HTTPS

如果您不打算以 root 权限运行MinIO,则需要使用以下命令赋予MinIO在小于1024的端口上监听的能力。

sudo setcap 'cap_net_bind_service=+ep' ./minio

现在,你通通过 “443” 端口启动您的MinIO服务器了。

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

如果您正在使用MinIO的Docker版本,则需要

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

第七部: 在浏览器中访问 https://myminio.com

Letsencrypt

Join Slack 商业支持购买咨询