当前位置:首页 > 技术文章 > 正文内容

MinIO使用Nginx代理访问以及实时缩略图的使用

arlanguage3个月前 (02-01)技术文章80

前面几篇文章以上了解的MinIO的基础使用方法了,但是我们实际使用的时候一般都会通过nginx代理转发。本文将介绍如何使用Nginx代理访问MinIO,并且实现通过Nginx的image-filter模块实现实时缩略图。

配置Nginx代理

首先,我们需要在Nginx上配置反向代理来访问MinIO。我们可以通过以下配置将Nginx与MinIO集成:

 location / {
	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 Host $http_host;

	proxy_connect_timeout 300;
	# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
	proxy_http_version 1.1;
	proxy_set_header Connection "";
	chunked_transfer_encoding off;
	proxy_pass http://localhost:9000;
}

在这个配置中,我们将Nginx监听地址的“/”路径映射到MinIO服务器的IP地址和端口号上“http://localhost:9000;”。我们还需要设置一些header信息,以确保MinIO服务器正确解析请求。这里也给出一段官方的配置:

这里注意以下配置要加上:

 # To allow special characters in headers
 ignore_invalid_headers off;

 # To disable buffering
 proxy_buffering off;

使用Nginx实时缩略图

这里要先了解下ngx_http_image_filter_module模块,它提供了一种在Nginx服务器上动态生成缩略图的方法,要使用ngx_http_image_filter_module模块,你需要自己编译在Nginx时启用该模块,也可以通过下载别人编译好带有该模块的nginx压缩包。

Nginx配置文件中启用ngx_http_image_filter_module模块。你可以通过以下配置来启用该模块:

http {
    # 启用 ngx_http_image_filter_module 模块
    image_filter on;
    # 设置缩略图生成参数
    image_filter_jpeg_quality 90;
    image_filter_buffer 5M;
}

image_filter:设置为“on”以启用ngx_http_image_filter_module模块。

image_filter_jpeg_quality:控制缩略图的质量。

image_filter_buffer:缓冲区大小。


配置缩略图路由,代码如下:


location ^~ /thumbnail/ {
  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 Host $http_host;
  proxy_connect_timeout 300;
  proxy_http_version 1.1;
  proxy_set_header Connection "";
  chunked_transfer_encoding off;
  proxy_pass http://localhost:9000/;
  set $width -;
  set $height -;
  if ($arg_w != '') {
    set $width $arg_w;
  }
  if ($arg_h != '') {
    set $height $arg_h;
  }
  image_filter resize $width $height;
}

image_filter resize:指定缩略图的大小。

至此完成配置,下面看看效果:

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1996.html

标签: nginx统计ip
分享给朋友:

“MinIO使用Nginx代理访问以及实时缩略图的使用” 的相关文章

只想简单操作 Kubernetes 资源?用 Go 一招搞定,快试试 kom!

当你在使用代码操作k8s时,有没有觉得总要写很多代码,才能获取到一个资源,并且要处理底层的集群连接、client等一系列的东西。那么有没有一种简单的办法,毕竟我只是想读取一下集群内的Pod或者什么其他资源而已啊。为了解决这个问题,我们使用 kom https://github.com/weibaoh...

CentOS安装nginx

安装nginx第一步,查看是否安装,没有我们就开始安装:rpm -qa| grep nginx第二步,安装依赖包。(1)gcc安装。由于nginx是c语言写的,因此在安装nginx前需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yum install gcc-c...

08《Nginx 入门教程》Nginx 的 Http 模块介绍(中)

在前面介绍完 post-read、server-rewrite、find-config、rewrite 和 post-rewrite 阶段后,我们将继续学习 preaccess 和 access 两个阶段,中间会涉及部分模块,一同进行说明。1. preaccess 阶段在 preaccess 阶段在...

Nginx负载均衡安全配置说明2 nginx负载均衡配置文件

上一节,我们对Nginx安全配置的几个知识点做了一个说明,例如限制IP访问、文件目录禁止访问限制、需要防止DOS攻击、请求方法的限制和限制文件上传的大小这个进行了一个分析说明,详细的文章请关注我的头条号:一点热,在里面看回之前的文章,快速入口Nginx负载均衡的一些安全配置说明其实,配置Nginx的...

nginx+spring boot 微服务实现负载均衡

环境准备项目 JDK1.8 以上版本准备好 nginx 环境nginx 配置nginx 的配置文件在/usr/local/nginx/conf 目录下,配置文件 nginx.conf配置信息如下:upstream web_app { server 192.168.226.150:8089 ma...

Linux—shell中$(( ))、$( )、` `与$「 」的详解

命令替换在bash中,$( )与` `(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。[root@localhost ~]# echo Tom > tom.txt [root@localhost ~...