minio https配置

minio启动时候指定数据目录,配置文件,密钥文件目录,环境文件

1.创建minio用户,专门用于服务启动的

groupadd -r minio-user

useradd -M -r -g minio-user minio-user

2.在当前用户目录下创建minio目录,存储minio相关文件

mkdir minio

在minio目录下创建数据目录和密钥文件目录,和配置文件目录

cd minio

mkdir data

mkdir certs

mkdir conf

在conf目录下创建环境变量文件,初始化控制台访问用户及密码

cd conf

vim .env

添加环境变量:

MINIO_ROOT_USER=minioadmin

MINIO_ROOT_PASSWORD=minioadmin

certs:

将密钥文件复制到该目录下,文件的名称定死

private.key

public.crt

cd conf:配置配置文件

vim config.json

{

"version": "35",

"credential": {

"accessKey": "minio",

"secretKey": "minio"

},

"region": "cn-north-1",

"logger": {

"console": {

"enable": true

},

"file": {

"enable": false,

"filename": ""

}

},

"storageclass": {

"standard": "EC:2"

},

"api": {

"port": "9000",

"https": {

"enable": true,

"address": ":9000"

}

}

}

授权:chown -R minio-user:minio-user minio

su minio-user

minio ./minio/data --certs-dir ./minio/certs --config-dir ./minio/conf --env-file ./minio/conf/.env

如果使用了官网的教程

使用minio-user作为启动用户

准备好:文件名要定死,因为minio只认识key和crt文件

将xxxxx.key重命名为private.key

将xxxxx.pem重命名为public.crt

将这两个文件放到/home/minio-user/.minio/certs/ 目录下

chown -r minio-user:minio-user /home/minio-user/.minio 保证执行用户有权限

vim /etc/default/minio

增加秘钥文件位置指定和以https方式启动

MINIO_HTTP_SERVER="https"

MINIO_CERT_FILE="/home/minio-user/.minio/certs/public.crt"

MINIO_KEY_FILE="/home/minio-user/.minio/certs/private.key"

如果需要修改:api端口

MINIO_PORT="443"

代码需要修改三次:

客户端启用https连接:

复制代码
c, err := minio.New(address, &minio.Options{
   Creds:     credentials.NewStaticV4(conf.GlobalConf.Minio.AccessKey, conf.GlobalConf.Minio.SecurityKey, ""),
   Secure:    true,
   Transport: httpClient.Transport,
   Region:    "cn-north-1",
})

第二个:是否跳过https验证:

复制代码
httpClient := &http.Client{
   Timeout: 30 * time.Second, // 设置超时时间
   Transport: &http.Transport{
      MaxIdleConns:        10, // 最大空闲连接数
      MaxIdleConnsPerHost: 10, // 每个主机的最大空闲连接数
      IdleConnTimeout:     90 * time.Second,
      TLSClientConfig: &tls.Config{
         InsecureSkipVerify: true, // 忽略证书验证
      },
   },
}

第三个 返回的时候返回https

复制代码
return fmt.Sprintf("https://%v:%v/%v%v", conf.GlobalConf.Minio.Host, conf.GlobalConf.Minio.Port, bm.BucketName, bm.ObjectName)
相关推荐
ayt0074 小时前
Netty AbstractNioChannel源码深度剖析:NIO Channel的抽象实现
java·数据库·网络协议·安全·nio
北京耐用通信4 小时前
无缝衔接·高效传输——耐达讯自动化CC-Link IE转Modbus TCP核心解决方案
网络·人工智能·物联网·网络协议·自动化·信息与通信
[ ]8986 小时前
Stack_MLAG_知识点梳理
网络·笔记·网络协议
江畔何人初6 小时前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
m0_738120726 小时前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp
洒家肉山大魔王6 小时前
PKI/CA X.509证书的基础应用与解读
服务器·https·密码学·数字证书
北京耐用通信6 小时前
不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?
人工智能·科技·物联网·网络协议·自动化·信息与通信
liweiweili1267 小时前
http数据传输过程数据编码解码问答
网络协议·http·状态模式
有代理ip7 小时前
动态IP的安全性优化:策略升级与隐私保护实战指南
网络·网络协议·tcp/ip
CDN3607 小时前
高防 IP 回源 502/504 异常?源站放行与健康检查修复
网络·网络协议·tcp/ip