Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002611 [Resin] minor always 04-20-08 07:58 04-22-08 12:47
Reporter ferg View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 3.1.5
Summary 0002611: url-regexp and mod_caucho 404
Description (rep by Charles Lyons)

I can't help you but to add weight to this, I have a similar and frequent
problem in 3.1.5 GPL which is an issue each time I restart the container.

I have a servlet mapped to the "root" of the Web server - i.e. it is
supposed to execute just like a welcome page for:

http://www.mydomain.ext/ [^]

I can't use the servlet-mapping of "/" since that's defined in Java EE as
the "default servlet" and will execute for *every* request to an otherwise
unmatched URL, which isn't what I want. I just want the servlet to handle
requests for the root.

The "obvious" thing in Resin is to add a <servlet-mapping> with a
url-regexp attribute:

<servlet-mapping url-regexp="^/?$" servlet-name="MyServlet" />

This worked for a while, until a restart. It then gave a 404 even after
several reloads, restarts and a full stop and start. So I changed it to
url-regexp="^/index.html$" which again worked, until another restart (weeks
later) - I also couldn't then revert back to "^/?$" as the pattern as that
still gave 404. Finally I'm left using "^/index.jsp$" as my pattern since
that is what's working since the last restart. So definitely something
weird going on with those index page mappings.

I am using Resin with mod_caucho for an Apache 2 front end. I imagine
mod_caucho might be causing the issues with patterns still giving 404s even
after a complete restart of Resin? I guess also mod_caucho may be the main
culprit in all this, though that's a (far from educated) guess.

Additional Information
Attached Files

- Relationships

- Notes
04-21-08 09:51

<em>caucho-status would show the current mapping in mod_caucho. That
would be the place to look.</em>

At the moment I've got the entry "/^/?(index.html)?$" under the url-pattern
on /caucho-status. My regexp was "^/?(index.html)?$" so I'm not sure why
the extra / was inserted.

Resin is the server reporting the 404 (rather than Apache), so mod_caucho
is doing its job correctly, just Resin is refusing to serve those mappings
sometimes, with no errors in the logs.

<em>Since mod_caucho doesn't understand url-regexp, how are you telling
mod_caucho that your pages should be handled by Resin?</em>


<servlet-mapping url-pattern="*" servlet-name="plugin_match" />

I also set my default host to have servlet-name="plugin_ignore" so only
explicitly enabled web-apps are served by Resin (otherwise I was getting
domains being served by Resin rather than Apache and I didn't want to
enable mod_caucho for each domain in Apache as well as updating Resin

- Issue History
Date Modified Username Field Change
04-20-08 07:58 ferg New Issue
04-21-08 09:51 ferg Note Added: 0002998
04-22-08 12:47 ferg Assigned To  => ferg
04-22-08 12:47 ferg Status new => closed
04-22-08 12:47 ferg Resolution open => fixed
04-22-08 12:47 ferg Fixed in Version  => 3.1.6

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.
25 unique queries executed.
Powered by Mantis Bugtracker