在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筛选器中允许的扩展列表中。

  1. 打开Dispatcher配置文件。

  2. 为ZIP文件添加专用规则:

    code language-none
    /00xx {
            /type "allow"
            /method "GET"
            /path "/content/dam/*"
            /extension "zip"
            }
    
  3. 或者,更新现有的允许规则以包括zip

    code language-none
    /0010 {
            /type "allow"
            /extension '(css|gif|jpeg|jpg|js|pdf|png|svg|ttf|woff|woff2|html|zip)'
            /path "/content/*"
            }
    
  4. 重新部署Dispatcher配置。

  5. 再次测试ZIP下载。

相关阅读

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f