1. 准备工作
- 注册阿里云账号:
- 访问 阿里云官网 注册账号并完成实名认证。
- 开通OSS服务:
- 登录阿里云控制台,搜索“OSS”并开通服务。
- 创建Bucket:
- 进入OSS控制台,点击“创建Bucket”。
- 填写Bucket名称(全局唯一),选择地域(如
华东1
),存储类型选择“标准存储”,读写权限选择“私有”。 - 其他选项保持默认,点击“确定”。
2. 配置OSS
- 获取AccessKey:
- 进入 RAM访问控制。
- 创建子用户,勾选“编程访问”,保存生成的
AccessKey ID
和AccessKey Secret
。 - 为该用户添加OSS的权限策略(如
AliyunOSSFullAccess
)。
- 设置跨域访问(CORS):
- 进入OSS控制台,选择Bucket,点击“权限管理” > “跨域设置”。
- 添加规则:
- 来源:
*
(或指定域名) - 允许方法:
GET
,POST
,PUT
,DELETE
- 允许头:
*
- 暴露头:
ETag
- 缓存时间:
600
- 来源:
3. 搭建网盘前端
方案一:使用开源项目
推荐使用 FileBrowser 或 NextCloud 等开源网盘项目。
FileBrowser 示例
安装FileBrowser:
# 下载并安装 curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash # 创建配置文件 filebrowser config init filebrowser config set --address 0.0.0.0 --port 8080 filebrowser config set --log.level debug filebrowser users add admin your_password --perm.admin
配置OSS挂载:
使用 rclone 将OSS挂载到本地:
# 安装rclone curl https://rclone.org/install.sh | sudo bash # 配置OSS rclone config # 选择“New remote”,类型选择“s3”,填写AccessKey和Endpoint(如 oss-cn-hangzhou.aliyuncs.com) # 挂载OSS到本地 rclone mount oss:/your-bucket-name /mnt/oss --allow-other --vfs-cache-mode writes
启动FileBrowser:
filebrowser -r /mnt/oss
方案二:自定义前端
使用阿里云OSS SDK:
- 下载 OSS SDK(支持Python、Java、Node.js等)。
示例(Python):
import oss2 # 填写AccessKey和Bucket信息 auth = oss2.Auth('your_access_key_id', 'your_access_key_secret') bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'your_bucket_name') # 上传文件 bucket.put_object('example.txt', 'Hello, OSS!') # 下载文件 result = bucket.get_object('example.txt') print(result.read().decode())
开发前端页面:
- 使用HTML + JavaScript实现文件上传/下载功能。
示例(前端上传):
<input type="file" id="file-input"> <button onclick="uploadFile()">上传</button> <script src="https://unpkg.com/ali-oss/dist/aliyun-oss-sdk.min.js"></script> <script> const client = new OSS({ region: 'oss-cn-hangzhou', accessKeyId: 'your_access_key_id', accessKeySecret: 'your_access_key_secret', bucket: 'your_bucket_name' }); async function uploadFile() { const file = document.getElementById('file-input').files[0]; const result = await client.put(`uploads/${ file.name}`, file); console.log('上传成功:', result.url); } </script>
4. 部署与访问
- 部署到服务器:
- 将前端代码部署到云服务器(如ECS)或静态托管服务(如Vercel、GitHub Pages)。
- 绑定域名:
- 在阿里云控制台为OSS Bucket绑定自定义域名,并配置HTTPS证书。
- 访问网盘:
- 通过域名访问网盘页面,上传/下载文件。
5. 安全与优化
- 权限控制:
- 使用RAM策略限制用户权限。
- 通过STS临时令牌实现临时访问。
- 数据备份:
- 开启OSS版本控制,防止误删。
- 定期备份重要数据到其他存储服务。
- 性能优化:
- 使用CDN加速文件访问。
- 启用OSS的图片处理、视频截帧等功能。