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

nginx代理minio教程 避坑过的教程 避开SignatureDoesNotMatch

本次教程使用的是单机minio进行演示,集群minio也和这个差不多。

按照这个教程,可以避开nginx代理minio之后,只能访问文件,但是通过预签名url上传文件就会报SignatureDoesNotMatch的坑

暂定如下:

  • 你已经下载好minio
  • minio服务监听端口:9010
  • minio控制台端口:9011
  • 用来外部访问minio的域名:https://oss.aaa.com

nginx配置

需要修改的地方

  • 自己服务器用的是http还是https
  • server_name改为自己想的域名
  • proxy_set_header Host的值
  • 两处proxy_pass的值
# minioserver {# SSL(https) 配置listen 443 ssl http2;listen [::]:443 ssl http2;ssl_certificate fullchain.cer的全路径;ssl_certificate_key certificate_key的全路径;# 非SSL(http) 配置,这里是http配置,根据自己情况,选上面或者下面一种,nginx没有配https就选下面这种listen 80;# nginx监听的域名server_name oss.aaa.com;# 以下除了ip地址和端口号,其他配置都是参考官方文档ignore_invalid_headers off;client_max_body_size 2048m;proxy_buffering off;proxy_request_buffering off;location / {# 这里的值是 minio服务监听ip:minio服务监听端口proxy_set_header Host 10.0.0.7:9010;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;proxy_connect_timeout 300;# Default is HTTP/1, keepalive is only enabled in HTTP/1.1proxy_http_version 1.1;proxy_set_header Connection "";chunked_transfer_encoding off;# 这里的值是 http://minio服务监听ip:minio服务监听端口proxy_pass http://10.0.0.7:9010;}# 以下是minio客户端配置location /ui/ {rewrite ^/ui/(.*) /$1 break;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-Proto $scheme;proxy_set_header X-NginX-Proxy true;proxy_connect_timeout 300;# To support websockets in MinIO versions released after January 2023proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";# Some environments may encounter CORS errors (Kubernetes + Nginx Ingress)# Uncomment the following line to set the Origin request to an empty string# proxy_set_header Origin '';chunked_transfer_encoding off;# 这里的值是 http://minio服务监听ip:minio服务监听端口proxy_pass http://10.0.0.7:9011; # This uses the upstream directive definition to load balance}}

创建一个运行minio的shell脚本文件

创建并编辑文件

vi run_minio.sh

文件的内容

#!/bin/bash
export MINIO_ROOT_USER=minio控制台的登录账号
export MINIO_ROOT_PASSWORD=minio控制台的登录密码
# 以下,如果nginx没有配置https,那就写http
# 外部通过域名访问minio的地址
export MINIO_SERVER_URL="https://oss.aaa.com"
# minio控制台文件路径
export MINIO_BROWSER_REDIRECT_URL="https://oss.aaa.com/ui"/usr/local/minio/minio server /data/minio/data1  --address "10.0.0.7:9010" --console-address ":9011"

给文件添加可执行权限

chmod +x run_minio.sh

执行文件就可以运行minio了

sh run_minio.sh
http://www.lryc.cn/news/311727.html

相关文章:

  • Linux进程详细介绍
  • 2024年3月产品认证基础考试简答题及答案
  • 嵌入式蓝桥杯做题总结
  • Spring Boot 常用注解大全
  • (MATLAB)第十二章-数列与极限
  • OJ输入问题+准备
  • 软考高级:主动攻击和被动攻击概念和例题
  • cuda python torch 虚拟环境配置
  • 激光炸弹 刷题笔记
  • Vue3学习记录(三)--- 组合式API之生命周期和模板引用
  • Batch Normalization和Layer Normalization和Group normalization
  • 命名实体识别NER(综合代码示例)
  • 关于jQuery日历插件:daterangepicker
  • 【贪心算法】最大子序和
  • 爬虫逆向网站案例
  • 蓝桥杯复习之前缀和
  • 动态规划(算法竞赛、蓝桥杯)--背包DP求具体方案
  • go写mysql取得自增字段值
  • Vue 3的Composition API和vue2的不同之处
  • go语言基础 -- 面向对象编程
  • HarmonyOS—编译构建概述
  • 下载element-ui 资源,图标 element-icons.woff,element-icons.ttf 无法解码文件字体
  • Flutter整体框架
  • JVM堆内存中新生代晋升到老年代的条件
  • 前端监控为什么采用GIF图片做埋点?
  • webstorm 创建运行纯Typescript项目
  • GO-接口
  • 【C语言】动态内存管理常用函数
  • 【OpenGL】(1) 专栏介绍:OpenGL 库 | 3D 计算机图形应用 | GPGPU 计算 | 3D 建模和 3D动画 | 渲染技术介绍
  • SPI总线知识总结