一、 为什么选择 S3 协议?
相比传统的 WebDAV,S3 协议拥有更强的工业标准支持,能完美适配 PicGo、Halo 博客附件、S3 Browser 等工具。通过 1Panel 部署 Alist,我们可以将低成本的云盘(如夸克、阿里)封装成昂贵的“对象存储”。
二、 核心准备:激活 S3 引擎
很多人在后台配了 S3 却不生效,是因为 Alist 默认并未开启 S3 服务。
修改配置文件:进入 1Panel 文件管理,找到 Alist 的数据目录(通常为
/opt/1panel/apps/alist/data/config.json)。开启开关:找到
s3段落,将"enable": false修改为"enable": true。JSON
"s3": { "enable": true, "port": 5246, "ssl": false }重启应用:在 1Panel 应用列表中重启 Alist 容器。
三、 绑定云盘:官方授权与路径
挂载网盘时,必须确保使用官方或可靠的授权方式。
1. 阿里云盘 Open (Aliyun Open)
操作:使用阿里云盘 APP 扫码获取
Refresh Token。关键设置:在 Alist 存储设置中,填入 Token 并在“根目录 ID”中填入目标文件夹的加密 ID。
2. 夸克网盘 (Quark)
获取入口:夸克网盘网页版
操作:登录后 F12 进入开发者工具,在
Network选项卡刷新页面,找到请求头中的Cookie字段并完整复制。必须开启:在存储设置中,“WebDAV 策略”必须选为“本地代理”。
四、 S3 映射:让存储桶对号入座
创建存储桶 (Bucket):进入 Alist 后台 -> 设置 -> S3。
名称映射:添加一个 Bucket,例如名称叫
kuake,路径对应/kuake。用户绑定:在同一页面确保 “默认用户” 选中了有权限的用户(如
yuanxiu)。
五、 深度避坑:ESA 加速导致的 403 报错
如果你使用了 ESA (边缘安全加速/CDN),在上传图片时可能会遇到:
The object storage service returned an error status code 403.
报错根源
ESA 的边缘节点 WAF 会拦截 PUT 等写入方法,或丢失 S3 校验必需的 Authorization 头。
终极解法
ESA WAF 规则:针对你的 API 域名创建 Skip Rule(跳过所有安全检查)。
Nginx 配置补丁:在 1Panel 的反代配置中手动加入以下 Header 转发:
Nginx
# 强制透传鉴权头,防止 S3 签名失效 proxy_set_header Authorization $http_authorization; proxy_pass_header Authorization; # 允许超大文件上传并关闭缓冲 client_max_body_size 0; proxy_request_buffering off;
评论区