本章节我们将介绍如何在 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 桶中。如下图: