You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DigitalOcean Space访问被拒绝且Django静态文件返回403问题求助

解决DigitalOcean Space AccessDenied 403错误方案

你收到的AccessDenied报错属于权限类错误,代表当前请求身份不具备目标资源的访问权限,结合Django站点对接静态存储的场景,按以下步骤排查修复:

  • 首先修正访问测试逻辑:Space根域名https://storagespace.nyc3.digitaloceanspaces.com默认没有公共访问权限,直接访问根域名返回403属于正常情况,你需要测试具体静态资源的完整URL(如https://storagespace.nyc3.digitaloceanspaces.com/static/css/main.css)来判断配置是否生效。
  • 配置Space基础访问权限:登录DigitalOcean控制台进入对应Space的设置页,关闭「全局强制私有访问」开关,无需开启公共文件列表功能。
  • 修正Django存储配置:如果你使用django-storages库对接S3兼容存储,在settings.py中添加以下配置,保证上传的静态文件自动设置为公共可读:
AWS_DEFAULT_ACL = 'public-read'
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_S3_REGION_NAME = 'nyc3'
AWS_S3_ENDPOINT_URL = 'https://nyc3.digitaloceanspaces.com'
AWS_STORAGE_BUCKET_NAME = 'storagespace'
# 替换为你自己的DigitalOcean Spaces密钥
AWS_ACCESS_KEY_ID = '你的ACCESS_KEY'
AWS_SECRET_ACCESS_KEY = '你的SECRET_KEY'
  • 配置CORS规则:在Space设置的CORS配置项中新增规则,允许来源填写你的Django站点完整域名,允许方法勾选GET、HEAD,允许请求头填写*,保存后生效,避免浏览器跨域请求静态资源被拦截。
  • 验证密钥权限:确认你使用的Spaces访问密钥具备对应Space的读写权限,如权限异常可重新生成新的Space专属密钥替换现有配置即可。

内容的提问来源于stack exchange,提问作者C-Bizz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:57:03