MINIO无公网访问地址下OSS的配置

在实际项目中,会存在MINIO外网不能访问,只能通过应用的机器进行转发才能访问的情况。该篇文章主要是为解决这种场景而写。

PS:如果MINIO外网可以直接访问,正常配置MINIO的OSS配置即可。

阅读之前

  • 了解MINIO对endpoint的限制, As per S3 specification, path in the endpoint is not supported. 即MINIO的请求地址不能带path.

详细参考:https://github.com/minio/minio-java/issues/1476
MINIO无公网访问地址下OSS的配置

解决办法

  • 项目中的MINIO地址配置一个可以访问的外网地址; 在网络层(NGINX)中配置该外网地址到MINIO的内网地址;
  • 因MINIO对endpoint的限制只能是 ip+port,即不能包含path, 也即不能通过配置path的方式进行转发;需要给一个IP(域名)+ 端口的 外部地址。

详细配置步骤

项目中OSS的配置

uploadUrl 和 downloadUrl配置为外网可访问的地址,非实际的MINIO地址。即访问MINIO通过一个可外部访问的地址进行转换

cdn:
  oss:
    name: MINIO
    type: MINIO
    bucket: pamirs
    # uploadUrl 和 downloadUrl配置为外网可访问的地址,非实际的MINIO地址
    uploadUrl: http://127.0.0.1:8083
    downloadUrl: http://127.0.0.1:8083
    accessKeyId: svs7nKWRSrfFPH1X5FOy
    accessKeySecret: yoIq1T1w4ythggvL51rNyyiKST0KLPagUwB3C23A
    mainDir: assert/demo
    validTime: 3600000A
    timeout: 600000
    active: true
    referer:
    localFolderUrl:

NGINX配置

    upstream minio {
       #真实的MINIO的地址
        server 39.103.145.77:9000 weight=100 max_fails=2 fail_timeout=30s;
    }

    server {
        listen 8083;
        server_name 127.0.0.1;

        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Forwarded-For $remote_addr;
            client_body_buffer_size 10M;
            client_max_body_size 50M;
            proxy_buffers 1024 4k;
            proxy_read_timeout 3000;
            proxy_next_upstream error timeout http_404;

            proxy_pass http://minio;
        }
    }

Oinone社区 作者:望闲原创文章,如若转载,请注明出处:https://doc.oinone.top/yun-wei-shi-jian/7112.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
望闲的头像望闲数式员工
上一篇 2024年5月8日 上午2:46
下一篇 2024年5月11日 上午10:52

相关推荐

  • Maven包拉取:拉取Oinone包的配置        运维实践

    Maven包拉取:拉取Oinone包的配置

    1、方式一,配置数式仓库代理 创建一个proxy类型的仓库 点击"Repository"–>“Repositories”–>“Create repository”,选择maven2(proxy)。 Name:要代理的数式的maven,自定义maven-proxy-shushi-release Online:勾选,设置成在线 P…

    2024年2月20日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注