• docker搭建minio服务器,解决内网穿透后外网无法访问问题


    搭建MinIo

    docker run \
      -itd \
      -p 9000:9000 \
      -p 9001:9001 \
      --name minio \
      -e "MINIO_ROOT_USER=账户" \
      -e "MINIO_ROOT_PASSWORD=密码" \
      -v /dcoker/minio/data:/data \
      quay.io/minio/minio server /data --console-address ":9001"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    内部搭建的MinIo服务器映射到外网后访问文件资源一直报认证异常,经资料查阅minio有自己一套加密校验逻辑,访问时不可改动其桶名

    解决内网穿透minio访问异常问题
    通过nginx进行代理,代理时不改变访问路径,外网映射时映射nginx的代理地址

    docker pull nginx
    docker run --name nginx -d -p81:80 -itd nginx
    mkdir -p  /usr/local/docker-soft/nginx/conf
    mkdir -p  /usr/local/docker-soft/nginx/conf.d
    docker cp nginx:/etc/nginx/nginx.conf /usr/local/docker-soft/nginx/conf/nginx.conf
    docker cp nginx:/etc/nginx/conf.d/default.conf /usr/local/docker-soft/nginx/conf.d/default.conf
    docker rm -f nginx
    
    # 启动镜像并挂载
    docker run  --name nginx -d -it \
    -p 80:80 \
    -v /usr/local/docker-soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
    -v /usr/local/docker-soft/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf \
    nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    修改Nginx配置

    server {
            listen   80;
    
            # 这里对应桶名
            location /访问的桶名/ {
                proxy_read_timeout 600s;
                # 配置minio访问地址与桶名
                proxy_pass http://minio服务器IP:端口/访问的桶名/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header X-Special-Delivery "";
                proxy_set_header Access-Control-Allow-Origin "";
                proxy_set_header Proxy-Client-IP $remote_addr;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
                add_header X-Special-Delivery "stop-polling-our-interface-you-bitch" always;
                add_header Access-Control-Allow-Origin "you-poll-your-mama-blyat" always;
            }
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
  • 相关阅读:
    js去掉字符串末尾的标点符号
    Spring RCE 漏洞 CVE-2022-22965复现分析
    【Java基础篇】第八章 认识面向对象
    笔记_HTML+CSS精选
    Redis快速上手篇七(集群-六台虚拟机)
    蓝桥杯---动态规划(1)
    DNSPod十问董文辉:我们为什么要拥抱云原生安全?
    算法通关村第12关【青铜】| 字符串转换问题
    Singularity 镜像管理工具的学习路线推荐,及学习建议
    Linux命令行ssh远程登录携带密码的方法
  • 原文地址:https://blog.csdn.net/leilei1366615/article/details/128124097