Expand my Community achievements bar.

ACS Commons Error Page Handling Issues On Dispatcher

Avatar

Level 2

I was wondering if someone could explain why ACS Commons Error Handler is not functioning properly on the Dispatcher?

Here are some of the tests I have done:

Accessing the publisher with the following URL's it will resolve the en-us specific 404 page properly:

http://publisher:4503/content/en-us/nopage
http://publisher:4503/content/en-us/products/nopage.html

When I access the dispatcher with the URL's below it does not resolve the page with the custom 404, but instead with a blank page (Console does show 404). I can set the error-page.system-path to point to the /content/en-us/404 page and it would behave correctly as a catch all.

http://qa.crown.com/content/en-us/nopage
http://qa.crown.com/content/en-usnopage


When I access the dispatcher with the following URL's it will resolve the 404 page (Seems the period is needed after en-us)
http://qa.crown.com/content/en-us.htmlblabla
http://qa.crown.com/content/en-us.nopage
http://qa.crown.com/content/en-us/products.nopage
http://qa.crown.com/content/en-us/products.htmlblabla

On the dispatcher I did set DispatcherPassError to 0 so that the dispatcher spools all error responses to the client. I have also tested this without any rewriterules and it results with the same issue.

Thanks

13 Replies

Avatar

Administrator

DId you check the suggestion provided by MC Stuff ?

~kautuk



Kautuk Sahni

Avatar

Level 2

I'm pretty sure Directory Browsing is enabled I went through the httpd.conf and set Options to FollowSymLinks and Indexes. The Directory settings under the Virtual Host I'm testing already had this set.

Is there a way I can verify for sure this is working on the Dispatcher?

Avatar

Employee Advisor

Can you set the dispatcher loglevel to 3 ("debug") and redo the requests which fail to produce the proper error page?

Jörg

Avatar

Level 2

The first request does trigger the 404 correctly, but 2nd one does not. I attached the debug level logs from the dispatcher.

Thanks

Avatar

Level 9

Does not sound like a webserver issue.  Are you using the latest ACS?  Also is request protocoll changed http vs https.

Can you send requesttracker file by accessing both aem directly & dispather?

Avatar

Level 2

We're currently using ACS Commons 2.8.0. I'm currently testing 2.10.0 in another environment, but I'm not having much luck with the latest version it seemed to have broken the Author and Publisher 404, looking at the logs it tries to resolve the "System error page" /content/error.html rather than the one under /content/en-us/error/404.

All request protocols are HTTP.

Avatar

Level 2

So I may have found what was causing the issue. We have in place /etc/map to shorten the links by removing /content. Is there a way to rewrite /etc/map to not cause a conflict?

I attached a picture that might be helpful.

Thanks

Avatar

Level 9

Hi,

in acs commons configure paths for both paths.

Thanks,

Avatar

Level 3

ksuren wrote...

This has been fixed https://github.com/Adobe-Consulting-Services/acs-aem-commons/issues/957

The updated version https://github.com/Adobe-Consulting-Services/acs-aem-commons/releases/tag/acs-aem-commons-3.8.4  should have the fix 

 

If you still see any issue, try these:

1.       Update ACS Commons to the new version 3.8.4
2.       Open http://<ip>:<port>/system/console/bundles  and look for “Apache Sling Commons FileSystem ClassLoader”. Make a not of the bundle number. It is generally 305
3.       Open terminal/shell/ssh, delete the “classes” folder from “/mnt/crx/publish/crx-quickstart/launchpad/felix/bundle305/data”
4.       Go back to AEM, and open any page, then an invalid url. By this time, the bundle should be recreated and “active”.

 

 

Avatar

Level 1

Hi ,

I am facing similar issue in calling custom pages using acs-commons error handler in dispacther url. What has been observed is in my local I have setup the dispatcher, where my custom error pages are coming up in the localhost:8080/. Where as in my dev instance , dev author ip and publish ip, custom error pages are coming up for 500, 404 whereas for endurl i.e disptacher url ,where we have a junction name after the domain "https://domainname/junction/content/abc/home.html" custom error pages are not showing up? Is it something because of junction name before /content. Can someone suggest on this?

Avatar

Level 10

What's the junction name?

Rewrite the URL at dispatcher level so that AEM can map to a resource. It should work then.

Thanks