You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by ohaya <oh...@cox.net> on 2005/08/13 02:27:48 UTC

[users@httpd] Change order of mod_dir in httpd.conf?

Hi,

We're having a problem on an Apache 1.3.x server running on Solaris 9. 
>From what I can tell thus far, I think that the problem is related to a
3rd party module that we are trying to integrate to provide single
sign-on (SSO) among our servers.  This server also has a J2EE container
(OC4J) "behind" it.

The problem is occurring when a URL is used that does not have an ending
slash, e.g., http://<host>:1234/foo.  From what we can tell, when such a
URL is used, and when the URL maps to the J2EE container, it looks like
the 3rd party module is doing something (we haven't been able to
identify what yet) that causes the server's port # to be dropped when
the request gets into the J2EE container.

The result of this is that the container is serving an HTTP 301
(redirect) response, but the "Location" header has only the hostname,
with no port #, and the browser cannot connect.

If the same URL is used with an ending slash (e.g.,
http://<host>:1234/foo/), everything works ok, i.e., the redirect
response goes out to the browser with both the hostname and port in
"Location", and the URL has an ending slash, and everything is good.

We're working with the 3rd party vendor to try to convince them that
they should look at their module, but in the meantime, I've been trying
to see if we can come up with some kind of workaround to the problem.

Right now, the httpd.conf is pretty vanilla, with mainly an additional
LoadModule at the end to load the 3rd party module.  

My understanding is that modules are "called" or "executed" by Apache in
reverse order, so that the module with the last LoadModule is
called/executed first.  If this is the case, that means the 3rd party
module is now being called/executed first.

What I'm wondering is:  If we move the LoadModule and <!IfModule> for
mod_dir 'below' the LoadModule for the 3rd party module, is it possible
that the mod_dir would process the request first (before the 3rd party
module) and add an ending slash to all URLs?  If this works, and since
the problem described above doesn't occur with URLs with ending slashes,
maybe this would prevent the problem from occurring?

I haven't tried this yet because mainly, I'm not sure if I'm 100% clear
about the LoadModule ordering and what it means for a module to be
"called" or "executed".  The other thing that I'm worried about is
whether if we do this (move mod_dir to the end of httpd.conf), it would
break anything else?

Sorry for the somewhat longish message, but I wanted to try to explain
the circumstances clearly.

Thanks in advance,
Jim

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org