【Bug报告】WorkBuddy电脑端授权手机号登录后页面空白 - CDN资源CORS策略拦截
一、问题描述
WorkBuddy电脑端选择"授权手机号登录"后,跳转到Edge浏览器,页面完全空白,无法完成登录。
二、复现步骤
1. 打开WorkBuddy电脑客户端
2. 点击"授权手机号登录"
3. 自动跳转到浏览器
4. 页面空白,无任何UI元素
三、空白页URL
https://www.codebuddy.cn/login/?platform=workbuddy&state=37a9f848-2c54-45cb-a21c-c440a4fb3813
四、控制台报错(F12 Console)
Access to script at 'https://acc-1258344699.cos.accelerate.myqcloud.com/web/login/4256431440848563f9adf3f7dcaed605afc3f709/assets/index.ae1ffd36.js' from origin 'https://www.codebuddy.cn' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
index.ae1ffd36.js:1 Failed to load resource: net::ERR_FAILED
五、根因分析
登录页(www.codebuddy.cn)需要从CDN(acc-1258344699.cos.accelerate.myqcloud.com)加载JS脚本,但CDN服务器(腾讯COS)的响应头中缺少 Access-Control-Allow-Origin 字段,导致浏览器按CORS策略拦截了脚本加载,页面无JS可执行所以白屏。
使用curl模拟跨域请求验证:
curl -I -H "Origin: https://www.codebuddy.cn" https://acc-1258344699.cos.accelerate.myqcloud.com/web/login/.../index.ae1ffd36.js
返回的响应头中确实没有 Access-Control-Allow-Origin。
六、已尝试的排查步骤(均无效)
1. 清除浏览器缓存和Cookie - 无效
2. 禁用所有浏览器扩展 - 无效
3. 使用Edge无痕模式 - 无效
4. 关闭Edge预加载功能 - 无效
5. 清除Service Worker和Cache Storage - 无效
6. 修改DNS为223.5.5.5/119.29.29.29 - 无效
7. 切换手机热点网络 - 无效
8. 修改Edge启动参数禁用CORS(--disable-web-security) - 此方式可绕过但非正常方案
七、建议修复方案
在腾讯COS存储桶的CORS配置中,为 acc-1258344699.cos.accelerate.myqcloud.com 域名添加以下规则:
- 允许来源(AllowedOrigin):https://www.codebuddy.cn
- 允许方法(AllowedMethod):GET, HEAD
- 允许头部(AllowedHeader):*
- 暴露头部(ExposeHeader):ETag, Content-Length
- 最大缓存时间(MaxAgeSeconds):86400
八、环境信息
- 操作系统:Windows
- 浏览器:Microsoft Edge
- WorkBuddy版本:最新版
- 网络:手机热点(非公司网络)
九、严重程度
高 - 完全无法登录使用WorkBuddy
相似问题