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
相关文章:
nginx代理minio教程 避坑过的教程 避开SignatureDoesNotMatch
本次教程使用的是单机minio进行演示,集群minio也和这个差不多。 按照这个教程,可以避开nginx代理minio之后,只能访问文件,但是通过预签名url上传文件就会报SignatureDoesNotMatch的坑 暂定如下: 你已经下载好miniom…...
Linux进程详细介绍
文章目录 Linux进程1、计算机体系结构和操作系统管理1.1、计算机体系结构 -- 硬件1.2、操作系统(Operator System) -- 软件 2、进程2.1、进程基本概念2.2、进程标识符2.2.1、获取当前进程标识符和当前进程的父进程标识符2.2.2、通过系统调用创建进程 -- …...
2024年3月产品认证基础考试简答题及答案
产品认证基础 46.产品认证的工厂检查有哪几种路线?各有什么优缺点? 答案:两种常用的检查路线: 1.按照要素或过程检查 按照认证规则规定的工厂应满足的要素要求(包括质量保证能力要求),结合部…...
嵌入式蓝桥杯做题总结
第十二届省赛 按键代码 ——自认为比较巧妙,定时器3被设置为10ms进入一次中断,代替了HAL_Delay(10)的方法消抖; 运用状态机机思想实现检测多个按键检测——且分为两个状态,其中一个状态PB1和PB2的按键不…...
Spring Boot 常用注解大全
以下是Spring Boot中常用的注解及其详细解释以及相应的代码示例: SpringBootApplication: 这个注解用于标识一个Spring Boot应用的主类。它整合了 Configuration,EnableAutoConfiguration 和 ComponentScan。 SpringBootApplication public class Demo…...
(MATLAB)第十二章-数列与极限
目录 12.1 数列 12.1.1 数列求和 1. 累计求和函数sum() 2. 忽略NaN累计求和函数 nansum() 3. 求此元素位置之前的元素和函数cumsum() 4. 求梯形累计和函数cumtrapz() 12.1.2 数列求积 1. 元素连续相乘函数 prod() 2. 求累计积函数 cumprod() 3. 阶乘函数 ffactorial(n…...
OJ输入问题+准备
写在之前: 发现题目输入是这样的: 我的问题:如何通过空格分割这些输入的字符串并分别保存!!(C语言scanf好解决一点但我选择C....) C引入了ostringstream、istringstream、stringstream这三个类…...
软考高级:主动攻击和被动攻击概念和例题
作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…...
cuda python torch 虚拟环境配置
以下是Pytorch和CUDA对应的版本 以下是Pytorch和Python对应的版本 检查cuda与Python版本是否匹配 import torch print(torch.__version__) print(torch.cuda.is_available()) print(torch.empty(3,4,devicecuda))cuda 删除cuda conda uninstall cudatoolkit --forceconda u…...
激光炸弹 刷题笔记
前置知识 二维前缀和 子矩阵的和 刷题笔记 {二维前缀和}-CSDN博客 思路 参考二维前缀和 将子矩阵的和 做成动态矩阵 一个个矩阵搜索 符合要求边长 矩阵中的元素和最大值 将x1,y1用i-k,j-k表示即可 x2,y2用i,j表示 代码 #include<iostream> #include<…...
Vue3学习记录(三)--- 组合式API之生命周期和模板引用
一、生命周期 1、简介 生命周期,指的是一个 Vue 实例从创建到销毁的完整阶段,强调的是一个时间段。 生命周期钩子函数,指的是 Vue 实例提供的内置函数,函数的参数为一个回调函数。这些钩子函数会在实例生命周期的某些固定…...
Batch Normalization和Layer Normalization和Group normalization
文章目录 前言一、Group normalization二、批量规范化(Batch Normalization)三、层规范化(Layer Normalization) 前言 批量规范化和层规范化在神经网络中的每个批次或每个层上进行规范化,而GroupNorm将特征分成多个组,并在每个组内…...
命名实体识别NER(综合代码示例)
一、命名实体识别发展方向 二、中文数据集 CCKS2017开放的中文的电子病例测评相关的数据。 评测任务一:https://biendata.com/competition/CCKS2017_1/ 评测任务二:https://biendata.com/competition/CCKS2017_2/ CCKS2018开放的音乐领域的实体识别任务…...
关于jQuery日历插件:daterangepicker
关于options singleDatePicker: false 双日历,true 单日历 timePicker:false 不显示时分秒,true 显示时分秒 timePickerIncreament:1 默认值 {singleDatePicker : false, //是否显示单日历框 dateLimit : { days : 30 }, //起…...
【贪心算法】最大子序和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,1,-5,4] 输出:6…...
爬虫逆向网站案例
一、相关网页 东方财富人气排行榜 二、查找url 三、寻找curl并复制 四、打开Convert curl commands to code (curlconverter.com) 五、修改并执行代码 import requestscookies {st_si: 73974981954644,st_pvi: 39724919122964,st_sp: 2024-03-05%2018%3A27%3A22,st_inirUrl:…...
蓝桥杯复习之前缀和
题目链接:https://www.luogu.com.cn/problem/P8649 思路: 看到区间和,第一反应肯定是前缀和,我们求出前缀和后对前缀和数组每一个值模k,然后对一个数组的值查看前面有几个相同的,举个例子:…...
动态规划(算法竞赛、蓝桥杯)--背包DP求具体方案
1、B站视频链接:E20 背包DP 求具体方案_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N1010; int v[N],w[N]; int f[N][N],p[N][N];int main(){int n,m;cin>>n>>m;for(int i1;i<n;i)cin>>v[i]>>w[i…...
go写mysql取得自增字段值
场景:有多张表,依据其中一张表的自增字段取得 id 值作为对象ID,然后使用这个Id插入到其他它表中。 如下一张 MySQL 的 innodb 表 X,用 go 编写程序,不指定 a 的值,指定 b 和 c 的值,往表 X 插入…...
Vue 3的Composition API和vue2的不同之处
Vue 3的Composition API是Vue.js框架的一个重要更新,它提供了一种新的组件逻辑组织和复用方式。在Vue 2中,我们通常使用Options API(data、methods、computed等)来组织组件的逻辑,但这种组织方式在处理复杂组件时可能会…...
Rufus系统兼容性架构升级:Windows 7支持终止的技术决策分析
Rufus系统兼容性架构升级:Windows 7支持终止的技术决策分析 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus作为业界领先的USB启动盘制作工具,在v4.5版本中做出了终止…...
凡亿AD22--PCB设计课程项目总结及后续学习规划
一、本次PCB设计课程核心总结本次系列课程的核心定位是「PCB设计入门基础」,核心目标是帮助新手快速上手,搭建PCB设计的基础认知,整体围绕“工具操作基础知识点”两大核心展开,具体总结如下:1. 课程核心目标本次课程不…...
Python窗口美化终极指南:5分钟打造Windows 11风格界面
Python窗口美化终极指南:5分钟打造Windows 11风格界面 【免费下载链接】py-window-styles Customize your python UI window with awesome pre-built windows 11 themes. 项目地址: https://gitcode.com/gh_mirrors/py/py-window-styles 还在为Python应用程序…...
B站视频下载终极指南:如何一键获取无水印高清视频
B站视频下载终极指南:如何一键获取无水印高清视频 【免费下载链接】BiliDownload B站视频下载工具 项目地址: https://gitcode.com/gh_mirrors/bil/BiliDownload 你是否曾为下载B站视频而烦恼?想要保存喜欢的视频却找不到合适的工具?B…...
第一篇:Claude Code 是什么?——为终端而生的Agentic编程助手
📌 标签:#概念解析 #Agent #终端工具 #入门必读你即将认识的,不是又一个“聊天式代码生成器”,而是一个真正能在终端里自主完成开发任务的 AI 工程师。1. 从“副驾驶”到“领航员”的跨越 如果你用过 GitHub Copilot、Cursor 或 C…...
OpenAI 模型攻克离散几何 80 年难题:Erdős 单位距离猜想被 AI 证明
OpenAI 模型攻克离散几何 80 年难题:Erdős 单位距离猜想被 AI 证明 一场改写数学史的AI突破 2026年5月20日,OpenAI 宣布其内部通用推理模型成功证明了一个困扰数学界近80年的开放问题——Erdős 单位距离问题(Unit Distance Problem&#…...
如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南
如何用MediaCrawler实现7大平台数据采集与追踪:从零到一的完整实战指南 【免费下载链接】MediaCrawler 小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 &#x…...
3步掌握StreamCap:开源直播录制工具的终极使用指南
3步掌握StreamCap:开源直播录制工具的终极使用指南 【免费下载链接】StreamCap Multi-Platform Live Stream Automatic Recording Tool | 多平台直播流自动录制客户端 基于FFmpeg 支持监控/定时/转码 项目地址: https://gitcode.com/gh_mirrors/st/StreamCap …...
Perplexity谚语查询功能实测报告:7类典型误用场景+5步精准调优法,错过即降效40%
更多请点击: https://kaifayun.com 第一章:Perplexity谚语查询功能的核心价值与适用边界 Perplexity 的谚语查询功能并非通用语言模型的简单问答接口,而是一个面向文化语义深度解析的专用能力模块。它依托高质量结构化谚语知识图谱与上下文感…...
【为风光储一体化系统注入精准“心跳”的隐形力量】
在“双碳”战略目标的宏伟蓝图下,构建以新能源为主体的新型电力系统已成为时代命题。风光储一体化,作为平滑新能源波动、提升电网消纳能力的关键路径,正迎来前所未有的发展机遇。在这一变革性的能源体系中,每一处精密的控制与高效…...
