使用Azure Storage与Django无法通过Web访问图片问题排查
无法访问Azure Storage中Django托管图片的排查方向
以下是可能导致图片无法访问的具体原因及排查点:
容器公开权限未实际生效
确认容器的公共访问级别已设置为「Blob(匿名读取对容器和 blob 的访问)」,部分情况下设置后需等待缓存刷新,或通过命令行验证:az storage container show --name <容器名> --query publicAccess,确保返回值符合预期。Django存储配置错误
检查settings.py中的关键配置:AZURE_CONTAINER需与存储图片的容器名称完全一致(区分大小写);- 若使用自定义域名,需正确设置
AZURE_BLOB_CUSTOM_DOMAIN = 'gu-stagineis.net'; - 确认
DEFAULT_FILE_STORAGE = 'storages.backends.azure_storage.AzureStorage'已配置,且AZURE_ACCOUNT_NAME、AZURE_ACCOUNT_KEY(或托管身份)填写正确。
Blob路径与访问URL不匹配
登录Azure存储账户找到对应Blob,对比其实际URL与你访问的https://gu-stagineis.net/media/blog_images/images_3.jpeg:- 检查容器名、Blob层级(如
blog_images/images_3.jpeg)是否完全一致; - Azure Blob名称区分大小写,若上传时文件名是
Images_3.jpeg,小写访问会返回404。
- 检查容器名、Blob层级(如
存储账户网络访问限制
查看存储账户的网络规则,若设置了仅允许特定IP/虚拟网络访问,即使容器公开,外部也无法访问。可临时将规则改为「允许从所有网络访问」进行测试。浏览器或CDN缓存问题
用无痕模式访问,或清除浏览器缓存尝试;若配置了CDN,需确认缓存规则是否正确,或手动刷新CDN缓存。
内容的提问来源于stack exchange,提问作者Lutaaya Huzaifah Idris
相关产品推荐
相关产品推荐

