Azure静态网站部署后出现WebContentNotFound 404错误如何解决?
Azure存储静态网站WebContentNotFound 404错误排查方案
The requested content does not exist.
HttpStatusCode: 404
ErrorCode: WebContentNotFound
RequestId : 23ac6dc2-401e-0044-7797-b2e9c5000000
TimeStamp : 2021-09-26T05:29:47.2306494Z
1. 访问端点与基础配置校验
- 确认使用的是静态网站功能页面给出的专属访问端点,格式为
https://<存储账号名>.z<地区号>.web.core.windows.net,不要使用后缀为blob.core.windows.net的普通Blob服务端点,普通端点无法匹配静态网站的索引文档规则 - 确认存储账号的静态网站功能处于已启用状态,没有被意外关闭
- 核对配置的索引文档名称和你上传到
$web根目录的首页文件名完全一致,大小写、后缀都要匹配,比如上传的是index.html,配置栏就不能填Index.htm - 若配置了自定义错误文档,也要确认错误文档的路径、文件名和实际存储的文件完全匹配
2. $web容器与文件配置检查
- 确认所有站点资源都上传到
$web容器下,不要放到其他容器,也不要额外嵌套一层站点文件夹再放资源:访问根路径时会直接读取$web/index.html,如果文件存储在$web/mysite/index.html就会触发404 - 确认
$web容器的访问权限正确:开启静态网站时容器会自动设置为允许匿名读取,如果你手动修改过权限,需要改回「Blob(仅允许Blob的匿名读取访问)」级别 - 确认文件大小写完全匹配:Azure Blob存储文件名大小写敏感,比如代码引用的是
logo.png,实际上传的是Logo.PNG就会触发404 - 确认文件的
Content-Type元数据配置正确:HTML文件应为text/html、CSS文件应为text/css,如果被错误设置为application/octet-stream也会导致访问异常,可在Azure门户的Blob属性页查看修改
3. 操作同步与缓存校验
你提到替换旧存储账号的文件后也触发报错,可优先排查该类问题:
- 确认删除旧文件、上传新文件的操作已完全同步,上传时选择覆盖已有同名文件,避免上传工具跳过文件导致资源缺失
- 上传完成后等待3-5分钟再访问,避免存储端操作延迟导致资源未就绪
- 若绑定了CDN服务,先清空CDN所有节点缓存,再用浏览器强制刷新(
Ctrl+Shift+R/Cmd+Shift+R)测试,也可直接用无痕模式访问排除本地缓存影响
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

