首页 > 解决方案 > AEM /etc.clientlibs 无法通过 Dispatcher 访问

问题描述

在调度程序上请求页面时,我在 Publish 实例error.log中看到了这一点

18.12.2019 22:13:05.563 *INFO* [x.x.x.x [1576707185560] GET /etc.clientlibs/project/clientlibs/clientlib-all.fd5c5f2e8418f9ae1aa923efb9e7ad95.js HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.ClientLibraryProxyServlet Proxy request to /etc.clientlibs/project/clientlibs/clientlib-all.fd5c5f2e8418f9ae1aa923efb9e7ad95.js not supported.

因此,etc.clientlibs没有加载到调度程序中,而是发回 404。

过滤规则似乎默认允许客户端库/0002 { /type "allow" /url "/etc.clientlibs/*" }

我在网上做了一些挖掘,发现了以下潜在的解决方法:

  1. 允许匿名 读取访问/etc
  2. 明确拒绝 对 1 级子级的匿名 读取/etc访问,以确保您不允许事情通过。

虽然这似乎暂时解决了问题,但我认为这充其量是一种解决方法。

有谁知道这个问题的解决方案以及如何在不更改 OOTB 权限的情况下解决这个问题?

谢谢,

尼古拉

标签: javaaemapache-felixslingcrx

解决方案


经过多次故障排除后,我相信我找到了解决问题的方法。我的吊索映射需要修改

sling:internalRedirect="[/content/project/us/en,/]"

sling:internalRedirect="[/,/content/project/us/en]"

进行此更改后,一切都可以正确解决,而无需更改 OOTB 权限。希望这对其他人有帮助。


推荐阅读