I have just finished configuring Dispatcher and have apparently made a configuration error that I can't see m to fin. I have a server with Author, Publisher, and IIS installed on it, and I have configured Dispatcher to work with IIS (AEM 5.6.1, Dispatcher-iis-windows-x64-4.1.4). I have activated teh Publish agent from my Author instance and that is working fine, I see page changes when made. When I go to the Publisher URL (http://localhost:4505/content/geometrixx/en.html) I get the correct page view. When I go to http://localhost/content/geometrixx/en.html I get a 404 error. My dispatcher log shows the following:
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Dispatcher initializing (build 4.1.4)
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] farms[website].homepage = /geometrixx/en.html
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] farms[website].cache.docroot = C:\inetpub\wwwroot
[Mon Feb 24 15:04:42 2014] [I] [3704(6024)] Dispatcher initialized (build 4.1.4)
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Found farm website for (my server IP address)
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] checking []
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] no cache due to missing extenson in uri:
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] cache-action for []: NONE
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] connected to render publish1 (localhost:4505)
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: host
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: accept-language
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: user-agent
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: dnt
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: accept
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: accept-encoding
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: APPL_MD_PATH
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: APPL_PHYSICAL_PATH
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: CONTENT_LENGTH
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: HTTPS
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: INSTANCE_ID
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: INSTANCE_META_PATH
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: REMOTE_ADDR
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: REMOTE_HOST
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: REQUEST_METHOD
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SCRIPT_NAME
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SERVER_NAME
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SERVER_PORT
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SERVER_PORT_SECURE
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SERVER_PROTOCOL
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: SERVER_SOFTWARE
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Spooling request header: URL
[Mon Feb 24 15:04:42 2014] [D] [3704(6024)] Content length: -1, written: 101
[Mon Feb 24 15:04:42 2014] [I] [3704(6024)] "GET " 404 ~ 0ms
At this point, I have stripped my dispatcher.any file down to the bare bones, trying to sort out the problem. Here is the content of it:
# name of the dispatcher
/name "test"
# Each farm configures a set of load balanced renders (i.e. remote servers)
/farms
{
# First farm entry
/website
{
/homepage "/geometrixx/en.html"
/clientheaders
{ "*" }
/virtualhosts
{ "*" }
/renders
{
/publish1
{
/hostname "localhost"
/port "4505"
# /timeout "0"
}
}
/filter
{
/0001 { /glob "*" /type "allow" }
}
/cache
{
/docroot "C:/inetpub/wwwroot"
/rules
{
/0000
{
/glob "*"
/type "allow"
}
}
}
/statistics
{
/categories
{
/html
{
/glob "*.html"
}
/others
{
/glob "*"
}
}
}
}
}
I would appreciate any advice on where I've gone wrong on configuring this.
Diana W.
Solved! Go to Solution.
Views
Replies
Total Likes
Diana,
the dispatcher log shows that you are requesting /geometrixx/en.html, while on your direct access to publish you use /content/geometrixx/en.html; is this a typo? And can you lookup the request made to the dispatcher on yourpublish as well? Because the publish already returns the 404, the dispatcher just forwards this to your browser.
kind regards
Jörg
Diana,
the dispatcher log shows that you are requesting /geometrixx/en.html, while on your direct access to publish you use /content/geometrixx/en.html; is this a typo? And can you lookup the request made to the dispatcher on yourpublish as well? Because the publish already returns the 404, the dispatcher just forwards this to your browser.
kind regards
Jörg
To troubleshoot the 404 error you're encountering, let's refine your Dispatcher configuration with these targeted adjustments:
Virtual Hosts Configuration:
Your current /virtual host setup is universal, indicated by ", meaning it's prepared to handle requests for any virtual host. This is a crucial area to double-check against your IIS setup. If your IIS is specifically configured to serve a particular virtual host, you must update this section to reflect the exact virtual hostname (s) you use.
Homepage Configuration:
Your approach for the homepage configuration, noted as "/homepage", seems to be on the right track. However, ensure that this setting truly mirrors the path structure of your AEM site. For example, if your actual homepage resides at "/content/geometrixx/en.html" within your Publisher instance, you'll need to update this configuration to match.
Filter Configuration:
The current filter setup ("/filter") is open, allowing all requests. This configuration might be fine for a broad testing scenario, but it's crucial to adjust this to fit your specific needs for security and efficiency. If no specific filtering rules are required for your setup, then it might already be appropriate for initial tests.
Cache Configuration:
The specified cache configuration ("/cache") looks like a basic yet effective setup. Confirm that the docroot path provided is accurate and that the Dispatcher can access it without issues.
Render Configuration:
For the /renders section, it's important to confirm that the details here precisely align with your AEM Publisher's configuration. The port mentioned (4503) must be correct and should not have any network or firewall restrictions impeding communication.
Dispatcher Log Review:
Given that the log indicates a 404 error, it's crucial to cross-reference the URL you're requesting with your AEM site's actual structure and configuration, including the correctly configured homepage.
After implementing these focused checks and adjustments, attempt to access the URL once more while keeping an eye on the Dispatcher logs for any new information or shifts in behavior. Persisting issues should prompt a review of both IIS and AEM logs to unearth more detailed clues about the source of the 404 error.
Views
Replies
Total Likes
Grow your business with professional online marketing services. From SEO to social media management, we have the tools to drive success.
Views
Replies
Total Likes
The reference in the log to /geometrixx/en.html is the /homepage variable, not the page I am requesting. (I have tried configuring with and without the homepage option and the result is the same). So no, that isn't a typo.
I am not sure what you mean by looking up the request made to the publisher - the page shows up just fine at the publish URL at http://localhost:4505/content/geometrixx/en.html as I said above. I see this page when I am on the file server or when I am on my local browser (except with the IP address instead of localhost). The logs for my Replicating agent from the Author environment to Publish look just fine, and I can see changes replicated when I make them and activate. My problem is with something in Dispatch. As a further bit of information, I am working my way through the Adobe Systems Admin Training manual so that I don't miss a step, since it's been a year since I took the training. I have replaced the dispatcher.any file with the template twice and gone step-by-step through the configuration, but I still get a 404 error when I try to view the page through the IIS webserver.
Diana W.
Views
Replies
Total Likes
I have now gone back to the very beginning, a fresh install of Dispatcher with the generic Dispatcher.any file - the only thing I changed was the Render's IP address. Same 404 error page as before, and this is the log:
[Tue Feb 25 10:45:31 2014] [D] [5492(3928)] Dispatcher initializing (build 4.1.4)
[Tue Feb 25 10:45:31 2014] [D] [5492(3928)] farms[website].cache.docroot = C:\inetpub\wwwroot
[Tue Feb 25 10:45:31 2014] [I] [5492(3928)] Dispatcher initialized (build 4.1.4)
[Tue Feb 25 10:45:31 2014] [D] [5492(3928)] Found farm website for 128.192.118.249
[Tue Feb 25 10:45:31 2014] [I] [5492(3928)] "GET " 0 - 0ms
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] Found farm website for 128.192.118.249
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] checking []
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] no cache due to missing extenson in uri:
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] cache-action for []: NONE
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] Filter rejects GET HTTP/1.0
Views
Replies
Total Likes
Dispatcher doesn't cache files that have no file name extension:
[Tue Feb 25 10:47:12 2014] [D] [5492(3964)] no cache due to missing extenson in uri:
Could this be the problem?
scott
Views
Replies
Total Likes
But it has an extension - the url is: http://(ip address)/content/geometrixx/en.html - wouldn't that be an .html file? I am just trying to open the basic out-of-the-box demo page, nothing fancy.
Views
Replies
Total Likes
Ok -- just checking all the bases. I notice you are using non-default port numbers. Have you configured the URL externalizer?
http://dev.day.com/docs/en/cq/current/developing/externalizer.html
And also configured the flush replication agent accordingly?
scott
Views
Replies
Total Likes
I am using the standard ports on this box - I literally built it step by step with the training manual. Author is on port 4502, Publisher1 is on 4503, Publisher2 is on 4505, web is on 80. I am just using one Publish instance (#2 at 4505) to simplify things. However I will look at that document.
Diana
Views
Replies
Total Likes
ANd yes, the Flush agent is configured and working fine - the log shows success.
Not that there is anything to flush, as no content is being cached on the wwwroot page....
Diana
Views
Replies
Total Likes
Combing through the logs, I think that this is the problem. My log says:
checking []
compared to another person's log - checking [/content/public/individuals-families/financial-life/planning-strateg ies.html]
So it appears that the problem is that no page is being checked - why would this be happening?
Diana
Views
Replies
Total Likes