minio https配置

ops/2025/1/26 13:20:01/

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>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>https方式启动

MINIO_HTTP_SERVER="https>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>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>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>https

return fmt.Sprintf("https>https://%v:%v/%v%v", conf.GlobalConf.Minio.Host, conf.GlobalConf.Minio.Port, bm.BucketName, bm.ObjectName)


http://www.ppmy.cn/ops/152776.html

相关文章

智慧农业——温湿,土壤,风速风向,降雨量 传感器监视平台

基于温湿、土壤、风速风向、降雨量传感器的智慧农业监视平台具有多方面的优点,主要体现在精准监测、智能决策、提升产量与品质、降低成本与风险等方面,以下是具体介绍: - **精准监测方面** - **实时数据获取**:能够实时采集农…

【spring】集成JWT实现登录验证

在 Spring 应用中,使用 JSON Web Token (JWT) 是一种常见的认证和授权机制。JWT 是一种基于 JSON 的开放标准 (RFC 7519),用来在各方之间传递安全、可信的数据。以下是如何在 Spring 框架中集成和使用 JWT 的完整指南。 核心概念 JWT 结构: H…

循环队列(C语言)

从今天开始我会开启一个专栏leetcode每日一题,大家互相交流代码经验,也当作我每天练习的自我回顾。第一天的内容是leetcode622.设计循环队列。 一、题目详细 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO&#…

03垃圾回收篇(D4_彻底理解GC)

目录 一、浅析大促备战过程中出现的 fullGc,我们能做什么? 1. 什么是 JVM 的 GC? 2. 写代码的时候能做什么? 3. 测试能做啥 4. 知识小结 二、MinorGC、MajorGC、FullGC垃圾回收介绍 1. MinorGC (新生代垃圾回收&#xff09…

Trimble三维激光扫描-地下公共设施维护的新途径【沪敖3D】

三维激光扫描技术生成了复杂隧道网络的高度详细的三维模型 项目背景 纽约州北部的地下通道网络已有100年历史,其中包含供暖系统、电线和其他公用设施,现在已经开始显露出老化迹象。由于安全原因,第三方的进入受到限制,在没有现成纸…

字节跳动自研HTTP开源框架Hertz简介附使用示例

字节跳动自研 HTTP 框架 Hertz Hertz 是字节跳动自研的高性能 HTTP 框架,专为高并发、低延迟的场景设计。它基于 Go 语言开发,结合了字节跳动在微服务架构中的实践经验,旨在提供更高效的 HTTP 服务开发体验。 1. 背景介绍 随着字节跳动业务…

python中Mako用法

Mako 是一个轻量级的 Python 模板库,它以其高效的代码生成和灵活的表达能力著称,常用于 Web 开发和静态文件生成。以下是对 Mako 的核心 API介绍。 1. 安装 Mako 首先安装 Mako: pip install mako2. 基本用法 Mako 的核心在于 Template 类…

github汉化

本文主要讲述了github如何汉化的方法。 目录 问题描述汉化步骤1.打开github,搜索github-chinese2.打开项目,打开README.md3.下载安装脚本管理器3.1 在README.md中往下滑动,找到浏览器与脚本管理器3.2 选择浏览器对应的脚本管理器3.2.1 点击去…