公司动态
18.2腾讯云为了强制使用「静态网站域名」访问,屏蔽了默认域名的直接预览,项目使用别的办法来实现(接18.1改。1的尾)
我现在的配置100% 正确文件访问权限是公开、强制 HTTPS已经开启、Content-Type设为了text/html编码 UTF-8但浏览器还是下载通过查资料再和官方客服工单对接唯一的原因是腾讯云为了强制使用「静态网站域名」访问屏蔽了默认域名的直接预览得到两个方案。解决方法一用「静态网站域名」访问我之前用的链接是默认域名带.cos.浏览器会被下载拦截。正确的访问链接必须用静态网站的域名带.cos-website.直接复制这个链接替换我的桶名https://audio-file-2026-1375681060.cos-website.ap-chengdu.myqcloud.com操作步骤复制上面的链接。新开一个无痕浏览器窗口或者清除缓存粘贴访问。绝对不要直接点击文件列表里的「访问链接」那个链接会导致下载解决方法二如果还是下载直接用「在线编辑器」覆盖因为这已经是text/html了理论上没问题。如果还不行是文件上传时的残留错误直接用在线编辑器重写步骤在存储桶「文件列表」点击index.html右侧的「...」更多操作。选择「在线编辑编辑器」。把原始的完整代码全选复制 - 粘贴到在线编辑器里。点击「保存」覆盖原文件。再用上面的网站域名访问。原因解释默认域名限制2024 年 1 月 1 日后创建的桶腾讯云禁止通过默认域名cos.ap-chengdu.myqcloud.com直接浏览网页文件否则会直接下载。静态网站域名只有专用的cos-website.ap-chengdu.myqcloud.com域名才会正确处理text/html头直接打开网页。UTF-8 没问题编码是 UTF-8非常完美不需要改。解决方法三生成预签名 URL 并调整桶权限以及内部的资源文件和代码文件权限桶设置「公有读私有写」保证网页能访问代码文件保持「公有读私有写」保证网页正常加载静态资源文件保持「私有读写」防直接下载。进入存储桶 →「文件列表」找到静态文件图片、视频、录音等文件点击右侧「...」-》「详情」进入详情页后往下滑找到「预签名 URL」现新版控制台改名为【临时链接】按钮→点击「复制临时链接」按钮直接点击复制 URL设置过期时间最长 10 年到期后重新生成即可格式为https://audio-file-2026-2233322.cos.ap-chengdu.mymiaomiao.com/文件名.mp4?signxxxtxxxhostxxx「复制生成的 URL替换代码里的预签名URL保存为index.html重新上传到桶里方案来做对比防直接下载操作核心有效期预签名 URL彻底防直接下载生成 URL最长 10 年到期重生成录音文件公有读可直接下载改权限永久有效更新下载对象」旁边的「刷新有效期」已经设置不了时限了腾讯云 COS 新版控制台的安全策略 对「私有文件」的临时链接预签名做了强制限制——临时链接只能生成 1 小时有效期且无法手动延长。要想实现这种小项目部署目前只能放弃「预签名」改用 「绕过 403 保持私有」的方案把录音文件的权限临时改成 「公有读私有写」立刻就能播放 / 下载且保留了index.html的私有访问控制。