当前位置: 首页 > news >正文

【Minio】Docker部署Minio + 使用nginx配置https访问

【Minio】Docker部署Minio + 使用nginx配置https访问

    • 前言
    • 1. 申请ssl证书
    • 2. 部署Minio
    • 3. 配置Nginx
    • 4. 问题记录

前言

通过nginx反向代理,将https请求转发到内部Minio服务端口,内部的Minio还是使用http

Docker安装可参考:Docker实战

1. 申请ssl证书

如果是使用阿里云的话,可以搜索数字证书管理服务,个人免费版90天有效期。
申请好后下载Nginx证书,并上传到自己的服务器/etc/nginx/ssl/minio目录下。

在这里插入图片描述

2. 部署Minio

# 定义compose语义版本
version: '3.8'
# 定义服务
services:
  minio:
    image: minio/minio:latest
    container_name: minio
    restart: unless-stopped
    command: server /data --console-address ":9001" -address ":9000"
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      MINIO_SERVER_URL: https://minio.xxxx.com  # Minio API
      MINIO_BROWSER_REDIRECT_URL: https://minio.xxxx.com/web  # Minio Web控制台
      MINIO_ROOT_USER: minioadmin  # Root用户名
      MINIO_ROOT_PASSWORD: xxxxxx  # Root用户密码
    volumes:
      - "/usr/local/docker/minio/data:/data"
      - "/usr/local/docker/minio/config:/root/.minio"
    ports:
      - "9000:9000"
      - "9001:9001"

3. 配置Nginx

/etc/nginx/conf.d下新增配置文件minio.conf,配置如下:

server {
    listen 443 ssl;
    server_name minio.xxxx.com;

    ssl_certificate     /etc/nginx/ssl/minio/minio.xxxx.com.pem;
    ssl_certificate_key /etc/nginx/ssl/minio/minio.xxxx.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    location / {
        client_max_body_size 500m;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
        proxy_read_timeout 300;
        proxy_set_header Host $http_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-Host $http_host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;

        proxy_pass http://localhost:9000;
    }

    location /web/ {
        proxy_set_header Host $http_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-Host $http_host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
		
		proxy_pass http://localhost:9001/;
    }

}

#http forced jump https http强制跳转https配置
server{
    listen 80;
    server_name minio.xxxx.com;
    rewrite ^(.*)$  https://minio.xxxx.com;
    location ~ / {
    index index.html index.php index.htm;
    }
}

配置好后,记得执行:nginx -s realod

在这里插入图片描述

4. 问题记录

问题1: web控制台中无法查看bucket里面的内容
打开浏览器 F12 控制台发现有很多WebSocket connection to ...的报错信息如下图:
在这里插入图片描述
解决方案:Nginx配置中增加以下内容:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/56001.html

相关文章:

  • 【漫话机器学习系列】124.感知机(Perceptron)
  • vue3中emits
  • 【预测】-双注意LSTM自动编码器记录
  • 职坐标机器学习编程实战:调试优化与自动化测试精要
  • 【C语言】指针篇
  • Python | 机器学习中最常用的超参数及使用示例
  • window系统中的start命令详解
  • SSM架构 +Nginx+FFmpeg实现rtsp流转hls流,在前端html上实现视频播放
  • RSA-OAEP填充方案与定时攻击防护
  • 人工智能之数学基础:对线性代数中逆矩阵的思考?
  • springboot011基于springboot的课程作业管理系统(源码+包运行+LW+技术指导)
  • Android中AIDL和HIDL的区别
  • 智慧校园总体方案
  • React Native国际化实践(react-i18next)
  • Centos的ElasticSearch安装教程
  • 退化环境定位(四):基于强度的感知定位方法
  • 云计算VS网络安全,应该怎么选?
  • hooks useModule自定义hooks (二次封装AgGridReact ag-table)自定义表头,自定义表头搜索
  • 浪涌测试方法与保护电路
  • Halcon 算子 一维码检测识别、项目案例
  • 任务10:三层交换机配置
  • 从零开始实现大语言模型(十四):高阶训练技巧
  • 国内外网络安全政策动态(2025年2月)
  • SyntaxError: Unexpected keyword ‘else‘
  • const iterator 和 const_iterator的区别
  • 华为欧拉系统 Tomcat 安装详解
  • 不同开发语言之for循环的用法、区别总结
  • nginx 代理 redis
  • 【目标检测】【NeuralPS 2023】Gold-YOLO:通过收集与分发机制实现的高效目标检测器
  • nginx-静态资源部署