MinIO + Nginx 反向代理

这篇具有很好参考价值的文章主要介绍了MinIO + Nginx 反向代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

当我们在构建个人博客或网站时,为了提高资源访问的速度和稳定性,经常会使用对象存储服务,如 MinIO,来存储静态资源,例如图片。而为了让网站看起来更加专业和美观,我们通常不希望用户直接看到后端存储的地址和端口,这时就可以利用 Nginx 进行反向代理,隐藏真实的后端服务地址。

问题描述

在尝试使用 Nginx 反向代理 MinIO 时,遇到了一个问题:虽然代理配置能成功访问 MinIO,但尝试访问存储在其中的图片时会收到一个 400 Bad Request: malformed Host header 的错误。

初步的配置如下:

server {
	listen 80;
	server_name image.laodengtou.com;
	location / {
		proxy_pass http://localhost:9001;
		proxy_set_header Host \$host;
		proxy_set_header X-Real-IP \$remote_addr;
	}
}

解决方案

经过一系列的测试和尝试,以下是一个工作正常的配置:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:9001/;
        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;
        rewrite ^/(.*)$ /$1 break;
    }
}

对比这两个配置,可以看到以下几点差异:

  1. proxy_set_header Host:在原始配置中,使用了 \$host,这可能导致了“Host”头部的错误解析。而在工作的配置中,使用 $http_host 可以确保 HTTP 请求头中的 Host 信息被正确传递给 MinIO。
  2. proxy_set_header X-Forwarded-For:此头用于传递原始请求的 IP 地址,有时对于某些应用来说这是必要的。
  3. rewrite:通过使用重写规则,可以确保请求的 URL 路径不会被错误地解释或修改。

效果展示

minio nginx代理,nginx,运维

minio nginx代理,nginx,运维

总结

Nginx 的反向代理功能强大,但在配置时需要注意一些细节,特别是当后端服务对请求头有特定要求时。对于 MinIO 这样的对象存储服务,确保传递正确的 Host 信息是关键。如果你有其他相关的经验或知识,欢迎在评论区分享!文章来源地址https://www.toymoban.com/news/detail-647853.html

到了这里,关于MinIO + Nginx 反向代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据云计算运维之Nginx反向代理与负载均衡

    一、Nginx概述 1.1 概述 Nginx(“engine x”)是一个高性能的 HTTP /反向代理的服务器及电子邮件(IMAP/POP3)代理服务器。 官方测试nginx能够支撑5万并发,并且cpu,内存等资源消耗却非常低,运行非常稳定。最重要的是开源,免费,可商用的。 Nginx还支持热部署,几乎可以做到7 *

    2024年02月11日
    浏览(58)
  • Minio + Nginx 实现静态资源对外访问

            公司交付项目,文件服务java + minio实现文件基本功能。其中包含文件上传与下载与在线预览,由于文件下载功能实现方式问题(web直接调用文件预览接口,有minio直接返回可预览路径二次请求实现文件下载)。         在公司局域网内没有问题,到客户环境文件无法

    2024年02月08日
    浏览(58)
  • docker-compose部署django+nginx+minio

    总体文件结构   docker-compose.yml文件    Dockerfile文件   start.sh文件   uwsgi.ini文件   nginx配置文件  

    2024年02月08日
    浏览(95)
  • 利用minio搭建自己的OSS(nginx + 域名 + https)

    安装 https证书,去某平台下载一个nginx证书,我用的阿里免费的 配置nginx,这里的9000和9099是默认端口,可以修改 sudo MINIO_ROOT_USER =username MINIO_ROOT_PASSWORD=password ./minio server /data --console-address \\\":9099\\\"

    2024年02月13日
    浏览(36)
  • minio集群部署,4台服务器+1台nginx

    分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码 分布式Minio存放数据的磁盘目录必须是空目录 分布式Minio官方建议生产环境最少4个节点,因为有N个节点,得至少保证有N/2的节点才能可读,保证至少N/2+1的节点才能可写。这里只是作演示搭建,只

    2024年02月15日
    浏览(57)
  • 【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

    本文将要讨论以下内容 正向代理与反向代理的基本概念 Nginx正向代理服务的配置指令、Nginx反向代理服务的配置指令 Nginx反向代理服务器的应用——负载均衡、故障转移 案例分析   正向代理的概念 局域网内的机器借助代理服务访问局域网外的网站,此代理服务器提供的服务

    2024年01月24日
    浏览(52)
  • Nginx(4)nginx的反向代理

    正向代理代理的对象是客户端,反向代理代理的是服务端,这是两者之间最大的区别。Nginx即可以实现正向代理,也可以实现反向代理。 先通过一个小案例演示下Nginx正向代理的简单应用,需求如下: (1)服务端的设置:当客户端发送请求之后,需要在指定日志文件里面输出客

    2024年02月03日
    浏览(63)
  • 【Nginx三】——Nginx实现反向代理

    【Nginx一】——Nginx介绍(正向代理 反向代理 负载均衡 动静分离) 【Nginx二】——Nginx常用命令 配置文件 Nginx如何处理请求 本篇博客主要介绍Nginx如何实现反向代理,会进行介绍什么是反向代理,以及进行实例实现反向代理。 代理服务器来接收网络上请求,然后将请求转发

    2024年02月05日
    浏览(65)
  • Minio nginx配置https和http问题解决,疑难症全网首发

    进入下面小程序可以体验效果 :   以下问题基本上是因为NGINX代理出现 一、API直接返回单独的错误: io.minio.errors.ErrorResponseException: Access denied 二、API直接返回的错误:The request signature we calculated does not match the si 三、预览文件或者图片返回错误 以上三个问题都属于Access den

    2024年02月13日
    浏览(51)
  • Minio下载与安装及其多驱多节点部署 + Nginx做负载均衡

    MinIO是一个开源的分布式对象存储服务器,它兼容Amazon S3服务接口。它是一个轻量级、高性能、高可用性的存储解决方案,可用于存储和检索大规模数据对象。 以下是MinIO的一些关键特点和概述: 对象存储 :MinIO以对象的形式存储数据,每个对象包含数据本身、元数据和唯一

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包