本章节我们将介绍如何在 Linux 和 Windows 上配置 MinIO 服务使用 TLS(传输层安全性协议,Transport Layer Security)。
这里我们将采用 OpenSSL 来生成证书(官网:https://www.openssl.org/)。命令如下:
生成私钥:
[root@S1 ~]# openssl genrsa -out private.key 2048
Generating RSA private key, 2048 bit long modulus
....................................................................................+++
..............................................................+++
e is 65537 (0x10001)生成自签名证书:
[root@S1 ~]# openssl req -new -x509 -days 3650 -key private.key -out public.crt -subj "/C=CN/ST=chengdu/L=sichuan/O=hxstrive/CN=hxstrive.com"在 Windows 上面依然采用 openssl,可以下载 Windows 版本安装包。
MinIO 在 Windows 上只支持 PEM 格式的 key/certificate,目前不支持 PFX 证书。
生成私钥:
C:\Users\Administrator>openssl genrsa -out private.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
...+++++
...............................................+++++
e is 65537 (0x010001)生成自签名证书:
C:\Users\Administrator>openssl req -new -x509 -days 3650 -key private.key -out public.crt -subj "/C=CN/ST=chengdu/L=sichuan/O=hxstrive/CN=hxstrive.com"如果你已经有私钥(private)和公钥(public)证书,你需要将它们拷贝到 MinIO 的 .minio/certs 文件夹,分别取名为 private.key 和 public.crt。
如果这个证书是被证书机构签发的,public.crt 应该是服务器的证书,任何中间体的证书以及 CA 的根证书的级联。
配置命令如下:
# 注意:.minio 目录位于用户主目录,当前用户为 root,因此绝对路径为 /root/.minio
# 将 private.key 拷贝到 .minio/certs 目录
[root@S1 ~]# mv private.key .minio/certs
# 将 public.crt 拷贝到 .minio/certs 目录
[root@S1 ~]# mv public.crt .minio/certs
# 验证我们的证书是否拷贝正确
[root@S1 ~]# ll .minio/certs/
total 12
drwx------. 2 root root 4096 Jul 6 23:26 CAs
-rw-r--r--. 1 root root 1679 Jul 6 23:06 private.key
-rw-r--r--. 1 root root 1285 Jul 6 23:17 public.crt上面已经成功生成了 private.key 和 public.crt 证书。执行下面命令启动服务:
# 自定义 Access Key
[root@S1 minio]# export MINIO_ROOT_USER=root
# 自定义 Securet Key
[root@S1 minio]# export MINIO_ROOT_PASSWORD=mypassword
# 启动服务,使用 /root/data 目录保存数据
[root@S1 minio]# ./minio server /root/data
Endpoint: https://192.168.31.201:9000 https://127.0.0.1:9000
RootUser: root
RootPass: mypassword
Browser Access:
https://192.168.31.201:9000 https://127.0.0.1:9000
Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc alias set myminio https://192.168.31.201:9000 root mypassword
Object API (Amazon S3 compatible):
Go: https://docs.min.io/docs/golang-client-quickstart-guide
Java: https://docs.min.io/docs/java-client-quickstart-guide
Python: https://docs.min.io/docs/python-client-quickstart-guide
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide
Certificate:
Signature Algorithm: SHA1-RSA
Issuer: C=CN, ST=chengdu, UnknownOID=2.5.4.7, O=hxstrive, CN=hxstrive.com
Validity
Not Before: Tue, 06 Jul 2021 15:17:28 GMT
Not After : Fri, 04 Jul 2031 15:17:28 GMT打开浏览器,访问 https://192.168.31.201:9000 地址(Access Key 为 root,Securet Key 为 mypassword)。如下图:
(1)进入到 MinIO 登陆页面,输入 Access Key 和 Securet Key 回车。如下图:

(2)创建一个名为 “images” 的桶,然后上传一张图片到 images 桶中。如下图:
