MinIO 开启 TLS 访问

本章节我们将介绍如何在 Linux 和 Windows 上配置 MinIO 服务使用 TLS(传输层安全性协议,Transport Layer Security)。

生成证书

这里我们将采用 OpenSSL 来生成证书(官网:https://www.openssl.org/)。命令如下:

Linux

生成私钥:

[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

在 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"

MinIO 证书配置

如果你已经有私钥(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

启动 MinIO 服务

上面已经成功生成了 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 桶中。如下图:

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号