javaaemapache-felixslingcrx

AEM /etc.clientlibs not accessible through Dispatcher


When requesting a page on dispatcher I am seeing this in my Publish instance 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.

Consequently the etc.clientlibs are not loading in the dispatcher, it sends back a 404 instead.

Filter rules seem to allow clientlibs by default/0002 { /type "allow" /url "/etc.clientlibs/*" }

I did a little digging online and found the following potential workaround:

  1. Allow anonymous read access on /etc.
  2. Explicitly deny anonymous read access on 1st level children of /etc to make sure you don’t allow things through.

While this seems to fix the issue momentarily I think this is at best a workaround.

Does anyone know the solution to this problem and how to fix this without changing permissions that are OOTB ?

Thanks,

Nicola


Solution

  • After much troubleshooting I believe I figured out a solution to my issue. My sling mapping needed modifying from

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

    to

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

    After this change was made everything resolves properly without having to change OOTB permissions. Hope this helps others.