原标题:开源对象存储1Panel 部署 MinIO 并通过 Nginx Proxy Manager 反代

使用 1Panel 创建 MinIO,通过 Cloudflare + Nginx Proxy Manager(NPM)对外提供访问,避免直接暴露 MinIO 端口。

1. 创建 MinIO

在 1Panel 中创建 MinIO。(开启对外访问)

2. 配置域名

准备两个二级域名:

minio.example.com → MinIO 管理面板
oss.example.com   → MinIO 对象存储 API

在 Cloudflare 中分别添加 A 记录指向服务器 IPv4,并开启代理。

3. NPM(nginx proxy manager) 配置反代

MinIO 默认:

9000 → 对象存储 API
9001 → Web 管理面板

因此需要配置两个 Proxy Host。

minio.example.com → 服务器内网IP:9001
oss.example.com   → 服务器内网IP:9000

9001 管理面板必须开启 WebSocket 支持。

9000 端口也必须单独反代,否则对象存储 API 无法正常通过域名访问。

4. 配置 MinIO 环境变量

在 Docker/1Panel 中编辑 MinIO 容器环境变量:

MINIO_BROWSER_REDIRECT_URL=https://minio.example.com
MINIO_SERVER_URL=https://oss.example.com

其中:

  • MINIO_BROWSER_REDIRECT_URL:9001 管理面板的公网地址
  • MINIO_SERVER_URL:9000 对象存储 API 的公网地址

修改后重新创建/启动容器。

5. 最终结构

Cloudflare
   │
   ├── minio.example.com
   │       ↓
   │      NPM
   │       ↓
   │   内网IP:9001
   │       ↓
   │   MinIO 管理面板
   │
   └── oss.example.com
           ↓
          NPM
           ↓
       内网IP:9000
           ↓
       MinIO API

核心:9001 管理面板和 9000 对象存储 API 是两个不同入口,必须分别反代;9001 开启 WebSocket。

image.png