404 when access resource using /etc.clientlib proxy

Avatar

Avatar

acportland

Avatar

acportland

acportland

01-09-2017

I am getting a 404 error when trying to reference an image resource under a clientlib folder. According to the documentation, this should work. I am able to verify that the image can be opened using the /app path so I know that the ACL and path are correct.  It seems like there is something else interfering with the resolution of etc.clientlibs proxy.  Can anyone please give me some hints on what might be wrong? 

Client lib folder with allowproxy = true

/app/myproject/clientlibs/clientlib-base/

Image location:

/app/myproject/clientlibs/clientlib-base/images/1.png

URL 404 error:

/etc.clientlibs/myproject/clientlibs/clientlib-base/images/1.png

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Stanleyor

Avatar

Stanleyor

Stanleyor

04-09-2017

I am experiencing the same problem without dispatcher. Using localhost:4503

04.09.2017 09:55:13.700 *INFO* [0:0:0:0:0:0:0:1 [1504511713699] GET /etc.clientlibs/project/components/translation-container/clientlibs/css/images/translation.svg HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.ClientLibraryProxyServlet Unable to proxy static resources at project/components/translation-container/clientlibs/css/images/translation.svg. Not allowed outside resources.

allowProxy on the translation-container component set to {Boolean}true

Answers (6)

Answers (6)

Avatar

Avatar

simsteve7

Avatar

simsteve7

simsteve7

24-11-2017

I don't agree. Images and fonts referred by in the css can also live in the clientlibs for sure. Following AEM documentation resources within a clientlib (Using Client-Side Libraries)​ should also be accessible.

It's not clear in the documentation but I found out that com.adobe.granite.ui.clientlibs.impl.ClientLibraryProxyServlet only proxies resources under the folder resources/. Also subfolders can be used.

So /app/myproject/clientlibs/clientlib-base/images/1.png should move to /app/myproject/clientlibs/clientlib-base/resources/images/1.png

Avatar

Avatar

Masoud_Rozati

Avatar

Masoud_Rozati

Masoud_Rozati

27-04-2020

you have to put all static resources (icons, images, etc.) in the subfolder with name "resources", see also
https://docs.adobe.com/content/help/en/experience-manager-65/developing/introduction/clientlibs.html...

Avatar

Avatar

acportland

Avatar

acportland

acportland

06-09-2017

Understood. I wouldn't normally put web asset under /app. However, that said, I still hope to see documentation updated on the proxy rule and the naming restriction for clientlib impl. It would have saved a lot of time figuring it out. And if the proxy rule is not currently configurable, I hope to see it become available in the future. It will give developers more implementation flexibility.

Avatar

Avatar

puradawid

Avatar

puradawid

puradawid

05-09-2017

With all do respect - clientlibs are only for CSS and Javascript code. They are don't have anything common with images or other static content so that is why it won't work as expected.

Avatar

Avatar

acportland

Avatar

acportland

acportland

05-09-2017

We are not using dispatcher.  Stanleyor's finding matches what our finding too. The implementation restricts assets only in the folder named 'resources'.  Do you know if the Proxy rule is configurable and where to configure it?

Avatar

Avatar

Feike_Visser1

Employee

Avatar

Feike_Visser1

Employee

Feike_Visser1
Employee

03-09-2017

Is this via the dispatcher?