在AEM as a Cloud Service或AEM 6.5中使用Dispatcher发布时,ZIP资源返回404
将ZIP文件上传到AEM DAM时,这些文件在创作中显示为已发布,但在发布中访问时返回 404 错误。 其他资源类型(如PDF和图像)则工作正常。 出现这种情况是因为Dispatcher默认阻止ZIP请求。 要解决此问题,请更新Dispatcher过滤器规则以允许ZIP扩展。
描述 description
环境
- AEM as a Cloud Service (AEMaaCS)
- AEM 6.5与Dispatcher
问题/症状
- ZIP资源在AEM创作中显示绿色的 已发布 状态。
- 直接访问Publish上的ZIP(例如,
/content/dam/.../file.zip)会返回404。 - 复制日志未显示错误。
- 其他资源类型(PDF、JPEG、SVG、MP4)工作正常。
- 重新压缩或上传新的ZIP文件并不能解决此问题。
原因
Dispatcher筛选器规则通常以 拒绝所有 配置开头,然后有选择地仅允许特定文件类型。
限制性过滤器的示例通常包括:
/0001 { /type "deny" /url "*" }
/0010 {
/type "allow"
/extension '(css|gif|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2|html)'
/path "/content/*"
}
由于.zip是,未包含在允许扩展列表中:
- Dispatcher会阻止该请求。
- 发布实例具有资产,但请求从未到达该资产。
- 最终结果:404未找到,即使复制成功也是如此。
解决方法 resolution
请按照以下步骤解决问题:
将.zip添加到Dispatcher筛选器中允许的扩展列表中。
-
打开Dispatcher配置文件。
-
为ZIP文件添加专用规则:
code language-none /00xx { /type "allow" /method "GET" /path "/content/dam/*" /extension "zip" } -
或者,更新现有的允许规则以包括
zip:code language-none /0010 { /type "allow" /extension '(css|gif|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2|html|zip)' /path "/content/*" } -
重新部署Dispatcher配置。
-
再次测试ZIP下载。
相关阅读
- 在AEMaaCS用户指南下将资产上传到存储库
- 《AEM Dispatcher指南》下的配置对内容的访问权限
- 《Dispatcher Dispatcher Guide》中的AEM安全核对清单
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f