Hi jk2 freaks I've applied Dmitry patch on jakarta-tomcat-connectors-4.1.11-src, and now virtual hosts are working without using JkUriSet. (JkUriSet was not avalaible with Apache 1.3)
I now can use Apache 2.0.40 or Apache 1.3.26 + TOMCAT 4.1.11 and virtual hosts using only workers2.properties and jk2.properties. Next step, using unix sockets Dom ----- Original Message ----- From: "Dmitry Letin" <[EMAIL PROTECTED]> To: "Tomcat Users List" <[EMAIL PROTECTED]> Sent: Saturday, September 21, 2002 3:43 AM Subject: Re: mod_jk2, virtual hosts, JkUriSet > I finally found the bug (or whatever it is) that caused problems: > > in source file jk/native2/server/apache2/mod_jk2.c > in line 680 (I have revision 1.49) that reads: > > uriEnv = workerEnv->uriMap->mapUri(env, workerEnv->uriMap,NULL,r->uri); > > "NULL" should be replaced to "r->server->server_hostname" (without the quotes of course) > > This NULL - was the reason for invalid handling of virtual hosts. > I have not tested this a lot yet, but virtual hosts are dispached properly now :-) :-) > > This fix is for apache2 only. > I actually typed manually the stuff above - could not do copy/paste - hope I made no typos > > Recompile mod_jk2.so after this change - and all works!!!! > > Dmitry > > > > > > Hello all, > I'm having the same problem, and I've been banging my head against it on and > off for about a week with no more success than anyone else... Essentially, > we're all trying to map the root of different virtual hosts to a different > context within tomcat, right? I started looking elsewhere and found that > Resin's apache module utilizes the ServerName directive within a > <VirtualHost> block to select different web apps... If it's a make-or-break > deal, you might want to look there. Another workaround possibility that I'm > toying with now is to use mod_rewrite within apache to redirect *.jsp > requests from http://www.vhost1.com to http://www.vhost1.com/vh1/ and map > the /vh1/*.jsp uri to the proper context. It just seems virtual host > support via mod_jk2 is not possible without duct tape and bubble gum, which > is a shame because the unix socket feature is fantastic... > > Ah, for the good old days of JServ/JSSI... > > > ----- Original Message ----- > From: Dmitry Letin <[EMAIL PROTECTED]> > To: Tomcat Users List <[EMAIL PROTECTED]> > Sent: Thursday, September 19, 2002 6:46 PM > Subject: RE: mod_jk2, virtual hosts, JkUriSet > > > > Hi Robert, > > > > In my config files I of course use real domains. > > I did try to use only workers2.properties files for configuration. > > It seems that virtual host part is ignored, so that these are the same > when > > jk2 selects worker: > > > > > > > > # The virtual host part seems to be ignored anyway > > # [uri:www.vhost1.com:80/*.jsp] - not working as well > > [uri:www.vhost1.com/*.jsp] > > worker=ajp13:localhost:8009 > > > > # The virtual host part seems to be ignored anyway > > # [uri:www.vhost2.com:80/*.jsp] - not working as well > > [uri:www.vhost2.com/*.jsp] > > worker=ajp13:localhost:8013 > > > > > > My problem comes from the fact that the virtual host part in uri seems to > be ignored > > when jk2 selects a worker, and only url path is cheched by jk2 code. > Because that part is the same > > it is dispached to the same tomcat instance. > > > > I do have proper entries in my /etc/hosts file (I'm on Linux) and I did > try this as well > > > > [uri:142.54.3.10:80] > > alias=www.vhost1.com:80 > > > > It did not help. > > > > I promise to write a how-to on this if I manage to solve this problem :-) > > But I have doubts I can solve it :-( > > > > > > Dmitry > > > > > > > > > > -----Original Message----- > > From: Robert L Sowders [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, September 19, 2002 6:32 PM > > To: Tomcat Users List > > Subject: Re: mod_jk2, virtual hosts, JkUriSet > > > > Forgot to mention, > > > > Here's a snip from the default workers2.properties file from the src > > > > [uri:127.0.0.1:8003] > > info=Example virtual host. Make sure myVirtualHost is in /etc/hosts to > > test it > > alias=myVirtualHost:8003 > > > > On a windows machine the hosts file is in c:\WinNT\system32\drivers\etc > > You'll also have to define the connector in the server.xml file. > > > > > > > > > > > > > > "Robert L Sowders" <[EMAIL PROTECTED]> > > 09/19/2002 02:48 PM > > Please respond to "Tomcat Users List" > > > > > > To: "Tomcat Users List" <[EMAIL PROTECTED]> > > cc: > > Subject: Re: mod_jk2, virtual hosts, JkUriSet > > > > Hmmmm, > > > > looks like you got some funny domains for those VirtualHosts as well as > > some nonstandard JkUriSet statements. You probably have a problem with > > one or both. > > > > Others have been successful. > > http://www.mail-archive.com/tomcat-user@jakarta.apache.org/msg66171.html > > > > Make your virtual hosts as fully qualified domains and make your JkUriSet > > commands like the example. Leave the port selection up to the > > workers2.properties file. > > > > Regardless of how you do it, after you are successful a nice step by step > > How To would be appreciated by all. > > > > rls > > > > > > > > > > > > "Dmitry Letin" <[EMAIL PROTECTED]> > > 09/19/2002 01:24 PM > > Please respond to "Tomcat Users List" > > > > > > To: <[EMAIL PROTECTED]> > > cc: > > Subject: mod_jk2, virtual hosts, JkUriSet > > > > Hi, > > > > Has anybody managed to successfully connect apache virtual hosts to > > different > > instances of tomcat using mod_jk2? > > > > I spent several days looking at all available documentation, mail archives > > > > and > > a bit of source code but could not make a working solution. > > > > I have no problem connecting to a single TomcatInstance. Problems start > > when > > I need to connect to two separate instances. > > > > I did check docs in > http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html > > and found them not helpful. > > > > > > For simplicity: > > I need to connect /*.jsp from apache VirtualHost1 to TomcatInstance1 > > and /*.jsp from apache VirtualHost2 to TomcatInstance2 > > > > I would greatly appreciate if somebody could send required fragments from > > a WORKING config files: httpd.conf, workers2.conf and jk2.properties. > > > > > > >From jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c I > > found: > > > > * Example: > > * <VirtualHost foo.com> > > * <Location /examples> > > * JkUriSet worker ajp13 > > * </Location> > > * </VirtualHost> > > * > > * This is the best way to define a webapplication in apache. It is > > * scalable ( using apache native optimizations, you can have hundreds > > * of hosts and thousands of webapplications ), 'natural' to any > > * apache user. > > > > Does it work properly at all? > > > > In my case I have: > > > > <VirtualHost vh1> > > <Location /*.jsp> > > JkUriSet worker ajp13:localhost:8009 > > </Location> > > </VirtualHost> > > > > <VirtualHost vh2> > > <Location /*.jsp> > > JkUriSet worker ajp13:localhost:8013 > > </Location> > > </VirtualHost> > > > > But in the end all requests (even from vh1) are routed to worker > > ajp13:localhost:8013 > > But I expected them to be routed to ajp13:localhost:8009 > > > > Looks like a bug to me. > > > > > > Thanks, > > Dmitry Letin > > > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > ---------------------------------------------------------------------------- ---- > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>