Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

404 pages when using Dispatcher

Avatar

Level 2

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.

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

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

View solution in original post

13 Replies

Avatar

Correct answer by
Employee Advisor

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

Avatar

Level 2

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.

Avatar

Level 2

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

Avatar

Level 8

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

Avatar

Level 2

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. 

Avatar

Level 8

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

Avatar

Level 2

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

Avatar

Level 2

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

Avatar

Level 2

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

Avatar

Level 1

It seems like your Dispatcher configuration is mostly correct, but there might be a small issue causing the 404 error. Here are some comments on your configuration:

Virtual Hosts Configuration:


/virtualhosts
{ "*" }
The * here indicates that the farm is handling requests for all virtual hosts. Ensure that this matches your IIS configuration. If your IIS is set up with a specific virtual host, replace * with the actual virtual host name.

Homepage Configuration:


/homepage "/geometrixx/en.html"
The homepage configuration seems fine, but ensure that it matches the actual structure of your AEM website. If the homepage is located at "/content/geometrixx/en.html" on the Publisher instance, update this path accordingly.

Filter Configuration:


/filter
{
/0001 { /glob "*" /type "allow" }
}
The filter configuration allows all requests. Double-check if you have any specific filtering requirements. If not, this should be okay for testing purposes.

Cache Configuration:


/cache
{
/docroot "C:/inetpub/wwwroot"
/rules
{
/0000
{
/glob "*"
/type "allow"
}
}
}
The cache configuration looks good for a basic setup. Ensure that the specified docroot path is correct and accessible by the Dispatcher.

Render Configuration:


/renders
{
/publish1
{
/hostname "localhost"
/port "4505"
}
}
Double-check that the render configuration matches the actual configuration of your AEM Publisher instance. Ensure that the specified port (4505) is correct and accessible.

Dispatcher Log:
The log indicates a 404 error for the request. Make sure that the requested URL matches the structure of your AEM website and the configured homepage.

After making these considerations, try accessing the URL again and monitor the Dispatcher logs for any changes or additional information. If the issue persists, consider checking the IIS logs and AEM logs for more details on the 404 error.

www-mycenturahealth.us/

Avatar

Level 1

It appears that your Dispatcher configuration is mostly correct, but there may be a small issue contributing to the 404 error. Here are some insights on your configuration:

Virtual Hosts Configuration:

In the /virtualhosts section, the use of "" indicates that the farm handles requests for all virtual hosts. It's crucial to ensure this aligns with your IIS configuration. If your IIS is set up with a specific virtual host, replace "" with the actual virtual host name.

Homepage Configuration:

The configuration for the homepage ("/homepage") seems appropriate, but it's essential to verify that it accurately reflects the structure of your AEM website. If the homepage is located at "/content/geometrixx/en.html" on the Publisher instance, adjust this path accordingly.

Filter Configuration:

The filter configuration ("/filter") currently permits all requests. Ensure this aligns with your specific filtering requirements. If none exist, this configuration should suffice for testing purposes.

Cache Configuration:

The cache configuration ("/cache") appears suitable for a basic setup. Confirm that the specified docroot path is accurate and accessible by the Dispatcher.

Render Configuration:

In the /renders section, validate that the render configuration matches the setup of your AEM Publisher instance. Ensure the specified port (4505) is both correct and accessible.

Dispatcher Log:

The log indicates a 404 error for the request. Verify that the requested URL matches your AEM website's structure and the configured homepage.

Following these considerations, attempt to access the URL again and monitor the Dispatcher logs for any alterations or additional insights. If the issue persists, consult the IIS logs and AEM logs for further details on the 404 error. https://liteblueinsights.com/

Avatar

Level 1

It seems that your Dispatcher configuration is nearly correct, but there might be a minor issue contributing to the 404 error. Here are some observations on your configuration:

  1. Virtual Hosts Configuration: In the /virtualhosts section, the usage of "" indicates that the farm handles requests for all virtual hosts. It's crucial to ensure this matches your IIS configuration. If your IIS is configured with a specific virtual host, replace "" with the actual virtual host name.

  2. Homepage Configuration: The configuration for the homepage ("/homepage") appears appropriate, but it's important to verify that it accurately reflects the structure of your AEM website. If the homepage is located at "/content/geometrixx/en.html" on the Publisher instance, adjust this path accordingly.

  3. Filter Configuration: The filter configuration ("/filter") currently allows all requests. Make sure this aligns with your specific filtering needs. If there are none, this configuration should be sufficient for testing purposes.

  4. Cache Configuration: The cache configuration ("/cache") seems suitable for a basic setup. Double-check that the specified docroot path is accurate and accessible by the Dispatcher.

  5. Render Configuration: In the /renders section, validate that the render configuration matches the setup of your AEM Publisher instance. Confirm that the specified port (4505) is correct and accessible.

  6. Dispatcher Log: The log indicates a 404 error for the request. Verify that the requested URL matches the structure of your AEM website and the configured homepage.

After considering these points, try accessing the URL again and monitor the Dispatcher logs for any changes or additional insights. If the issue persists, check the IIS logs and AEM logs for further details on the 404 error. I appreciate your kind words regarding the blog post! Your support for sharing valuable content means a lot. Keep up the great work, and I'll be sure to check out your website. Spotify receiptify

Avatar

Level 1

It appears that your Dispatcher configuration is mostly accurate, but there may be a minor issue leading to the 404 error. Here are some comments on your configuration:

Virtual Hosts Configuration:

/virtualhosts { "*" } The use of * indicates that the farm is handling requests for all virtual hosts. Make sure this aligns with your IIS setup. If your IIS is configured with a specific virtual host, replace * with its actual name.

Homepage Configuration:

/homepage "/geometrixx/en.html" The homepage configuration seems correct, but verify that it matches the actual structure of your AEM website. If the homepage resides at "/content/geometrixx/en.html" on the Publisher instance, adjust this path accordingly.

Filter Configuration:

/filter { /0001 { /glob "*" /type "allow" } } This filter configuration permits all requests. Review if you have any specific filtering needs. If not, this should suffice for testing purposes.

Cache Configuration:

/cache { /docroot "C:/inetpub/wwwroot" /rules { /0000 { /glob "*" /type "allow" } } } The cache setup appears suitable for a basic configuration. Confirm that the specified docroot path is accurate and accessible by the Dispatcher.

Render Configuration:

/renders { /publish1 { /hostname "localhost" /port "4505" } } Double-check that the render configuration matches your AEM Publisher instance setup. Ensure that the specified port (4505) is correct and reachable.

Dispatcher Log: The log reports a 404 error for the request. Verify that the requested URL corresponds to the structure of your AEM website and the configured homepage.

After addressing these points, attempt to access the URL again and monitor the Dispatcher logs for any updates or additional details. If the problem persists, consider examining the IIS and AEM logs for further insights into the 404 error.

https://ourdogbitelawyer.com/