基于Docker MinIO整合Nginx搭建反向代理

基于Docker MinIO整合Nginx搭建反向代理

docker拉去镜像安装和配置就不说了

主要说一下配置反向代理

第一次使用minio我陷入了一个误区,将nginx的data目录挂载到了minio的文件目录,这样是可以通过nginx访问minio文件,但是没有任何意义,也没有做任何的代理设置,研究了很久最后把nginx容器停了重新run一个,然后配置以下配置完成了代理。

配置之前需要把nginx中opt/nginx文件映射到宿主机

docker run -d -p 宿主机开放的端口:80 -v/opt/nginx/nginx:/etc/nginx --restart=always
–name nginx nginx:latest

以下为opt/nginx/nginx.conf配置


#user  nobody;
worker_processes  1;

 #error_log  logs/error.log;
 #error_log  logs/error.log  notice;
 #error_log  logs/error.log  info;

  #pid        logs/nginx.pid;

 events {
        worker_connections  1024;
        }

 http {
         include       mime.types;
         default_type  application/octet-stream;
         #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
         #                  '$status $body_bytes_sent "$http_referer" '
         #                  '"$http_user_agent" "$http_x_forwarded_for"';
         #access_log  logs/access.log  main;
         sendfile        on;
         #tcp_nopush     on;
         #keepalive_timeout
         keepalive_timeout  65;
         #gzip  on;
         server {
                   listen       80;
                  server_name  localhost;
                  #charset koi8-r;
                  #access_log  logs/host.access.log  main;
                  charset utf-8,gbk;
                location / {
                #开启自定义错误页面
                proxy_intercept_errors on;
                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;
           	#test改成你自己的存储桶名称,注意:末尾需要带有一个/
			#192.168.129.203:9000修改为你自己的minio地址,注意不要填成客户端端口。我这里是9000你可能是9090
                                                                                                                		proxy_pass http://192.168.129.203:9000/test/;
			#这里也可以设置多些,如http://192.168.129.203:9000/test/test1/;
			#这样test/test1这整个文件路径也将被隐藏。

           proxy_redirect off;

           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

                                                                                                               			 #客户端缓存时间,这里设置为7天,根据自己的需要设置即可

                                                                                                                		expires 7d;

                                                                                                                        add_header XCDN-Cache "$upstream_cache_status";

                                                                                                                        #配置404页面

                                                                                                                        error_page 404 /404.html;
			  }
			#error_page  404              /404.html;                                                                   		# redirect server error pages to the static page /50x.html
	        # error_page   500 502 503 504  /50x.html;
				location = /50x.html {
       			 root    html;
                                }  
								}

                                          

配置完成后重启一下nginx容器,然后再访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我minio图片服务器是9000,nginx开放的是3344

可以成功访问到了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以为您提供一个简单的示例来配置Nginx作为反向代理。在Docker中使用Nginx作为反向代理,您可以按照以下步骤进行操作: 1. 创建一个名为 `nginx-proxy` 的网络,以便您的容器可以相互通信: ``` docker network create nginx-proxy ``` 2. 运行您要代理的应用程序容器,并将其连接到 `nginx-proxy` 网络。假设您的应用程序正在运行并监听在端口 `8000` 上: ``` docker run -d --name app --network nginx-proxy YOUR_APP_IMAGE ``` 3. 创建一个 Nginx 配置文件 `default.conf`,并将其挂载到 Nginx 容器中的 `/etc/nginx/conf.d/` 目录中。以下是一个示例配置文件,将所有来自 `/` 路径的请求代理到应用程序容器的 `8000` 端口上: ```nginx server { listen 80; server_name localhost; location / { proxy_pass http://app:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 4. 运行 Nginx 容器,并将其连接到 `nginx-proxy` 网络,并挂载配置文件: ``` docker run -d --name nginx --network nginx-proxy -p 80:80 -v /path/to/default.conf:/etc/nginx/conf.d/default.conf nginx ``` 现在,Nginx 容器将接收来自主机的请求并将其代理到应用程序容器上。您可以根据需要自定义更多的代理规则。请确保将示例中的 `YOUR_APP_IMAGE` 替换为实际的应用程序镜像名称,并将 `/path/to/default.conf` 替换为您的 `default.conf` 配置文件的路径。 希望这可以帮助到您配置 Docker 中的 Nginx 反向代理!如有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值