更新上传示例描述
This commit is contained in:
55
README.md
55
README.md
@@ -30,7 +30,7 @@
|
||||
└────┬───┘ └─────────┘ └────────┘
|
||||
│
|
||||
┌────▼────┐
|
||||
│ MinIO │ ← 内网存储
|
||||
│ RustFS │ ← 内网存储
|
||||
│ (内网) │
|
||||
└─────────┘
|
||||
```
|
||||
@@ -53,6 +53,8 @@
|
||||
| **主站** | `https://amiap.hzau.edu.cn/` | 自动跳转到 /group/ (302) | ✅ |
|
||||
| **课题组网站** | `https://amiap.hzau.edu.cn/group/` | Vue.js 前端 | ✅ |
|
||||
| **Supabase Storage** | `https://amiap.hzau.edu.cn/supa/storage/v1/` | 文件上传下载 API | ✅ |
|
||||
| **TUS 大文件上传** | `https://amiap.hzau.edu.cn/supa/storage/v1/upload/resumable` | 断点续传上传 | ✅ |
|
||||
| **上传演示页面** | `https://amiap.hzau.edu.cn/upload-demo/upload.html` | 前端上传界面 | ✅ |
|
||||
| **Supabase API** | `https://amiap.hzau.edu.cn/supa/` | Auth/REST/Realtime | ✅ |
|
||||
| **ABM 数据库** | `https://amiap.hzau.edu.cn/ABM/` | WebSocket 项目 | ✅ |
|
||||
| **Derper** | `https://amiap.hzau.edu.cn/derp` | Tailscale DERP | ✅ |
|
||||
@@ -166,11 +168,13 @@ http://100.64.0.2:9001 (MinIO Console)
|
||||
|
||||
### 关键特性
|
||||
|
||||
✅ **安全隔离**: MinIO 不暴露到公网,仅通过内部网络访问
|
||||
✅ **统一入口**: 所有公网文件访问通过 Supabase Storage API
|
||||
✅ **权限控制**: 通过 Supabase RLS 实现细粒度权限管理
|
||||
✅ **内网管理**: 管理界面仅 Tailscale VPN 可访问
|
||||
✅ **安全隔离**: MinIO 不暴露到公网,仅通过内部网络访问
|
||||
✅ **统一入口**: 所有公网文件访问通过 Supabase Storage API
|
||||
✅ **权限控制**: 通过 Supabase RLS 实现细粒度权限管理
|
||||
✅ **内网管理**: 管理界面仅 Tailscale VPN 可访问
|
||||
✅ **根路径重定向**: 自动跳转到课题组网站
|
||||
✅ **TUS 断点续传**: 大文件上传支持断点续传(已修复)
|
||||
✅ **HTTPS 安全传输**: 所有上传通过 HTTPS,无混合内容问题
|
||||
|
||||
## 🔐 MinIO 访问
|
||||
|
||||
@@ -225,7 +229,9 @@ response = requests.get(
|
||||
│ ├── docker-compose.yml # Traefik 网关 + Derper
|
||||
│ ├── .gitignore # Git 忽略规则
|
||||
│ ├── README.md # 本文档(完整指南)
|
||||
│ └── ARCHITECTURE_SUMMARY.md # 架构总览(已整合)
|
||||
│ ├── ARCHITECTURE_SUMMARY.md # 架构总览(已整合)
|
||||
│ ├── SUPABASE_STORAGE_SUCCESS_SUMMARY.md # 🔥 Storage + TUS 上传系统修复总结
|
||||
│ └── test-supa-tus.sh # TUS 上传功能测试脚本
|
||||
│
|
||||
├── 📁 docs/ # 部署策略文档
|
||||
│ ├── strategy-1-path-prefix.md # 路径前缀方案(当前使用)
|
||||
@@ -233,10 +239,11 @@ response = requests.get(
|
||||
│ ├── strategy-3-hybrid.md # 混合方案
|
||||
│ └── strategy-comparison-report.md # 策略对比分析
|
||||
│
|
||||
├── 📁 supabase-stack/ # 🔥 Supabase 后端服务
|
||||
├── 📁 supabase-stack/ # 🔥 Supabase 后端服务 + 修复后的存储系统
|
||||
│ ├── docker-compose.yml # 核心服务(PostgreSQL, Auth, REST, etc.)
|
||||
│ ├── docker-compose.s3.yml # MinIO 对象存储(内网)
|
||||
│ ├── .env # 环境变量和凭证
|
||||
│ ├── volumes/api/kong.yml # ✅ 修复后的 Kong 路由配置(单一路由)
|
||||
│ ├── README_CN.md # 中文使用指南
|
||||
│ ├── README_STORAGE.md # Storage 对象存储指南
|
||||
│ ├── MINIO_GUIDE.md # MinIO S3 完整使用指南
|
||||
@@ -245,10 +252,14 @@ response = requests.get(
|
||||
│ │ ├── OPERATIONS_GUIDE.md # 运维指南
|
||||
│ │ ├── VUE_API_INTEGRATION.md # Vue 集成教程
|
||||
│ │ └── FINAL_ARCHITECTURE_MINIO_INTERNAL.md # MinIO 内网化详细说明
|
||||
│ └── examples/ # 示例代码
|
||||
│ ├── storage_client.py # Python 客户端
|
||||
│ ├── storage_client.js # JavaScript 客户端
|
||||
│ └── test_https_storage.py # 测试脚本
|
||||
│ └── examples/ # 🔥 上传演示和测试文件
|
||||
│ ├── upload.html # ✅ 完整的上传界面(支持断点续传)
|
||||
│ ├── tus.min.js # TUS 客户端库
|
||||
│ ├── supabase.js # Supabase 客户端库
|
||||
│ ├── storage_client.py # Python 完整客户端
|
||||
│ ├── storage_client.js # JavaScript 完整客户端
|
||||
│ ├── test_https_storage.py # 测试脚本
|
||||
│ └── test_tus_direct.py # TUS 直接上传测试
|
||||
│
|
||||
└── 📁 web/ # Web 应用项目
|
||||
├── redirect-root/ # 根路径重定向(到 /group/)
|
||||
@@ -651,6 +662,28 @@ await client.uploadFile('bucket', fileObject, 'uploads/photo.jpg');
|
||||
const url = await client.createSignedUrl('bucket', 'uploads/photo.jpg', 3600);
|
||||
```
|
||||
|
||||
## 邮箱配置
|
||||
|
||||
1) 阿里云 DirectMail(DM)
|
||||
|
||||
面向事务邮件 + 批量邮件的托管发送服务,不用自建邮件服务器。
|
||||
|
||||
适合作为 Supabase Auth 的 SMTP 后端。
|
||||
|
||||
2) 腾讯云 SES(Simple Email Service)
|
||||
|
||||
支持控制台 / API / SMTP 三种发送方式。
|
||||
|
||||
官方也提供 SMTP 服务地址与端口说明(含 SSL 465)。
|
||||
|
||||
3) SendCloud(国内老牌事务邮件平台)
|
||||
|
||||
明确提供 SMTP + API 接入模式,主打国内投递与开发者场景。
|
||||
|
||||
4) SUBMAIL
|
||||
|
||||
提供 SMTP 相关能力与 API 体系(文档中有 SMTP API 机制说明)。
|
||||
|
||||
---
|
||||
|
||||
## 🎯 最佳实践
|
||||
|
||||
Reference in New Issue
Block a user