服务器 > 网络 > https

Minio环境部署过程及如何配置HTTPS域名

3人参与 2025-03-07 https

概述

minio 是一个开源的对象存储服务器,用于存储和管理大规模的非结构化数据,例如图像、视频、日志文件、备份和容器镜像。minio 旨在提供高性能、高可用性、可扩展性和易用性的对象存储解决方案,适用于私有云、公共云和混合云环境。

以下是 minio 的主要特点和介绍:

一、前期准备工作:minio 部署

        在部署 minio 之前,确保我们完成了以下几个前期准备工作:

1. 创建挂载目录

mkdir -p /mnt/data/minio

这条命令会在 /mnt/data 目录下创建一个名为 minio 的文件夹,用来存储 minio 的数据。

2. 创建并配置 docker-compose.yml 文件

目的:docker-compose.yml 文件用于定义和配置 minio 服务,使得我们可以通过一条命令来启动服务。该文件会描述 minio 服务的所有配置项,包括端口、挂载目录、环境变量等。

操作步骤

在项目目录下创建 docker-compose.yml 文件,可以使用任何文本编辑器(如 vimnano)来创建并编辑:

vim docker-compose.yml

配置文件内容如下:

version: '3'
services:
  minio:
    image: minio/minio:latest  # 使用官方最新版本的minio镜像
    container_name: minio
    environment:
      - minio_access_key=your_access_key   # 设置minio的访问密钥
      - minio_secret_key=your_secret_key   # 设置minio的私密密钥
    ports:
      - "9000:9000"   # 将容器内的9000端口映射到宿主机的9000端口
    volumes:
      - /mnt/data/minio:/data   # 挂载宿主机的目录到容器内
    restart: always   # 容器异常退出时会自动重启
    networks:
      - minio_network   # 使用自定义网络
networks:
  minio_network:
    driver: bridge

总结

在 minio 部署的前期准备阶段,我们做了以下几件事:

二、部署过程:minio 部署

        在完成了前期准备工作后,我们可以正式开始部署 minio 服务。部署过程分为几个简单的步骤,下面会逐步讲解每一步的操作。

1. 启动 minio 容器

docker-compose up -d

2. 确保防火墙端口开放

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload

3. 验证 minio 启动

http://<你的服务器ip>:9000

例如:http://192.168.1.100:9000

4. 创建 bucket

5. 上传图片文件

总结

通过以上步骤,我们成功地完成了 minio 的部署:

这样,我们就成功完成了 minio 部署的整个过程,可以在生产环境中使用它来存储文件。

三、配置 https 域名

        为了提高 minio 服务的安全性,我们可以为其配置 https,通过域名访问 minio 控制台。以下是详细步骤:

1. 准备域名

2. 配置 nginx 反向代理

        为了将域名和 minio 服务连接,我们使用 nginx 做反向代理,将请求通过 nginx 转发给 minio 服务。

sudo yum install nginx -y

配置 nginx 反向代理

打开 nginx 配置文件,进行编辑:

sudo vi /etc/nginx/nginx.conf

在配置文件中,添加如下配置:

server {
    listen 80;
    server_name minio.example.com;  # 你的域名
    location / {
        proxy_pass http://127.0.0.1:9000;  # minio 服务的地址和端口
        proxy_set_header host $host;
        proxy_set_header x-real-ip $remote_addr;
        proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header x-forwarded-proto $scheme;
    }
}

解释:

重启 nginx 使配置生效

sudo systemctl restart nginx

原因

3. 配置 https(ssl 证书)

为了保证 minio 服务的安全性,我们需要为其配置 https。可以使用免费工具如 let's encrypt 来申请 ssl 证书。

安装 certbot(let's encrypt 客户端)

在 centos 上,使用以下命令安装:

sudo yum install epel-release -y
sudo yum install certbot -y

使用 certbot 申请 ssl 证书

运行以下命令,申请证书:

sudo certbot certonly --nginx -d minio.example.com

解释:

配置 nginx 使用 ssl 证书

编辑 nginx 配置文件,启用 https:

server {
    listen 80;
    server_name minio.example.com;
    return 301 https://$server_name$request_uri;  # 强制 http 重定向到 https
}
server {
    listen 443 ssl;
    server_name minio.example.com;
    ssl_certificate /etc/letsencrypt/live/minio.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/minio.example.com/privkey.pem;
    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header host $host;
        proxy_set_header x-real-ip $remote_addr;
        proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header x-forwarded-proto $scheme;
    }
}

解释:

重启 nginx 使配置生效

sudo systemctl restart nginx

原因

总结

通过以上步骤,我们为 minio 配置了 https 和域名访问:

现在,你可以通过 https://minio.example.com 安全地访问 minio 控制台了。

四、总结

        在本篇文章中,我们详细介绍了如何部署 minio,并通过配置反向代理和 https 来提升其安全性。以下是整个过程的总结:

1. minio 部署步骤回顾

2. 配置 https

3. 完成部署后的验证

4. 常见问题与解决方法

结语

        通过本次讲解,我们掌握了 minio 的部署与配置过程,从挂载目录到配置 nginx 反向代理,再到 ssl 证书的申请与配置,每一步都为 minio 服务的高效、安全运行提供了保障。现在,你可以通过 https 安全地访问 minio 服务,进行文件的上传、下载及管理。

到此这篇关于minio环境部署过程及如何配置 https 域名的文章就介绍到这了,更多相关minio部署内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Minio 上传文件请求负载原理解析

03-07

Nginx配置反向代理服务器实现在https网站中请求http资源

03-07

Nginx配置系统服务&设置环境变量方式

03-05

Ubuntu安装Nginx全过程(在线安装&源码编译安装)

03-05

nginx之Http代理和Websocket代理详解

03-05

Nginx如何实现对城市以及指定IP的访问限制

03-05

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论