SuperAPI AI 工具集

alibabacloud-oss-browser-upload-cors-diagnosis

通用与其它

查看项目

更新于 10-15 19:54

技能介绍

用途:诊断阿里云 OSS 浏览器、小程序或前端直传失败问题,例如页面报 CORS 错误、No 'Access-Control-Allow-Origin'、预检 OPTIONS 失败、已配置 CORS 却不生效、缺少 expose-headers(ETag / x-oss-request-id)、PostObject 表单直传被拒(策略过期、签名、表单字段)。

主要能力:先核验调用者身份,用只读 GetBucketInfo(失败回退 ListBuckets)确认桶存在,用只读 GetBucketCors 读取真实 CORS 规则,将浏览器 Origin 与规则匹配归因预检失败,审计 expose-headers 是否包含浏览器 SDK 所需头,检查 PostObject 表单策略语义(UTC 过期、字段顺序、x: 自定义变量),最终给出有证据支撑的结论和标准配置模板。所有诊断必须通过 scripts/ 下的脚本执行(入口 oss_cors_diagnosis.py,身份脚本 sts_token.py),不可自行拼装 ossutil/SDK/curl 命令。

使用方式:cd $SKILL_DIR,python3 scripts/sts_token.py 核验身份;再运行 python3 scripts/oss_cors_diagnosis.py --bucket <name> [--origin <Origin>] [--region <region>] [--endpoint <endpoint>] [--policy-expiration <ISO8601-GMT>]。凭据仅由默认凭据链解析,禁止读取、打印或内联 AK/SK/STS;命令不得带凭据前缀,否则视为泄露。aliyun CLI 需 3.3.3 或更新(可 aliyun version 检查、aliyun upgrade --yes 升级)。配置类问题须带 --question 调用以对齐官方文档,结论需引用 doc_verification.docs 返回的 URL,文档离线时须声明“无法离线核对官方文档”。

限制:严格只读,禁止生成、写入或执行 PutBucketCors、DeleteBucketCors 等变更类 API;仅输出模板,实际应用 CORS 需用户自行在控制台或 PutBucketCors 操作,无需运行前二次确认。结论必须基于实际返回数据,查询失败须记录为 DEGRADED 并给出 NEXT_ACTION,不得编造规则或请求头。不支持服务端 SDK 上传下载错误码、分片上传、endpoint/region 选择、签名 URL、计费与攻击取证。