文件服务端加密—minio配置https
1.安装openssl
建议双击安装包默认安装,安装完成之后配置环境变量
如下图则配置成功:
二、生成自签名CA证书及私钥
1、生成私钥
openssl genrsa -out private.key 2048
2、生成自签名证书
(1)编写openssl.conf文件,并保存在上一步生成的private.key的目录下
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no[req_distinguished_name]
C = CN
ST = ShannXi
L = Xi'an
O = yonde
OU = development
CN = yonde.minio.com[v3_req]
subjectAltName = @alt_names[alt_names]
IP.1 = 192.168.1.124
DNS.1 = 192.168.1.124
说明
[1] 基本信息(可以随便写)
[req_distinguished_name]
C = CN # 国家
ST = ShannXi # 省份
L = Xi'an # 市区
O = yonde # 组织
OU = development # 组织单位
CN = yonde.minio.com # common name(有效域名)
[2] 下面两个配置很关键,ip和dns必须填写实际需要配置https的IP地址,否则会报登录证书ip和服务器IP不一致的错误
[alt_names]
IP.1 = 192.168.1.124 # 服务器ip地址,这里指minio服务ip
DNS.1 = 192.168.1.124 # 服务器dns地址,这里指minio服务dns
(2)生成证书
在openssl.conf目录下执行一下脚本
openssl req -new -x509 -nodes -days 730 -key private.key -out public.crt -config openssl.conf
参数说明
openssl:生成、管理证书、密钥等文件的命令行工具
req -x509:X.509是SSL和TLS密钥和证书管理的一种标准,这里使用X.509标准为证书签字
-nodes:设置OpenSSL跳过使用密码短语保护证书的选项,我们需要Apache能够在服务器启动时读取文件,而无需用户干预。密码短语可以防止这种情况发生
-days 730:设置证书有效时间,这里设置为两年
-newkey rsa:2048:同时生成证书和一个2048位长的密钥
-key:私钥存储位置
-out:证书存储位置
-config 证书配置文件位置
三、配置minio https支持
Ⅰ、linux平台配置
1、防火墙开启443、9000、9001端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=9001/tcp --permanent
重启防火墙
firewall-cmd --reload
3、查看防火墙已经开启的端口
firewall-cmd --zone=public --list-ports
4、安装apache
sudo yum install httpd
5、启用https
sudo systemctl enable httpd.service
6、将步骤二生成的私钥和证书拷贝到minio服务器上的~/.minio/certs目录下
说明:~/.minio/certs目录在用户文件夹下,如 /root/.minio/certs目录
7.重启minio服务
(1)找到minio进程并结束
ps -ef|grep minio
(2)启动minio服务,并指定https访问的端口为9001
./minio server /mnt/data --console-address ":9001"
说明
./minio server [数据存储路径] --console-address ":[https端口]"
8、访问
在浏览器中输入minio地址,例如 https://192.168.1.124:9000(会自动跳转到https://192.168.1.124:9001)
附录
(1)若想恢复http访问,只需要将~/.minio/certs目录下的私钥和证书删掉即可
(2)在步骤二 编写openssl.conf中一定要注意 IP.1和DNS.1的地址必须是需要设置为https访问的服务器ip(minio服务器ip)
Ⅱ、windows平台配置
1、防火墙开启443、9000、9001端口
点击下一页直至完成。
2、将步骤二生成的私钥和证书拷贝到minio服务器上的C:\Users[用户名].minio\certs目录下,如
3、重启minio服务
在资源管理器中找到minio进程并结束,在minio.exe目录下执行以下命令启动
minio server D:\minio\data --console-address ":9001"
4、访问
在浏览器中输入minio地址,例如 https://192.168.1.124:9000(会自动跳转到https://192.168.1.124:9001)