Jeff,

You've managed to articulate the problem much better then my original post!
I'm afraid as you've said, it is unfortunate that this isn't possible in
3.2.

I hunted around for that patch that you thought might exist that allows
multiple hosts per entry but couldn't find it. Anyone know where it might
be? 

Thanks,
-Steve


on 8/20/01 3:48 PM, Larry Isaacs at [EMAIL PROTECTED] wrote:

> Hi Jeff,
> 
> Maybe I can increase my understanding here, since I not
> that experienced with the Apache side.
> 
> The point of:
> 
> NameVirtualHost 111.22.33.44
> 
> <VirtualHost 111.22.33.44 >
> ServerName www.foo.com
> ...
> </VirtualHost>
> 
> was that mod_jk would identify the host as "www.foo.com"
> for both Both "http://111.22.33.44/..."; and
> "http://www.foo.com/...";.  Thus, Tomcat could match it to a
> single context identified by "www.foo.com".  I can't claim to
> understand the NameVirtualHost directive very well, but without
> it, I believe that mod_jk would identify the host as
> "111.22.33.44" instead of "www.foo.com" for
> "httpd://111.22.33.44/...".
> 
> Obviously, I'm coming at this from the point of view of
> keeping mod_jk and Tomat happy, and not necessarily what
> is "normal" for Apache.
> 
> By the way, ApacheConfig in Tomcat 3.3 also supports the
> following for "ServerAlias":
> 
> server.xml:
> <Host name="www.foo.com" address="111.22.33.44" >
> <Alias name="www.bar.com" />
> <Context ... />
> </Host>
> 
> which would generate conf/auto/mod_jk.conf:
> 
> NameVirtualHost 111.22.33.44
> 
> <VirtualHost 111.22.33.44 >
> ServerName www.foo.com
> ServerAlias www.bar.com
> ...
> </VirtualHost>
> 
> Cheers,
> Larry
> 
>> -----Original Message-----
>> From: Jeff Kilbride [mailto:[EMAIL PROTECTED]]
>> Sent: Monday, August 20, 2001 3:21 PM
>> To: [EMAIL PROTECTED]
>> Subject: Re: VHosts causing app to load twice
>> 
>> 
>> Hi Larry,
>> 
>> It doesn't really make sense to set up Name-based virtual
>> hosting this way.
>> In essence, your saying all requests for 111.22.33.44 should
>> go to the same
>> place as all requests for www.foo.com (in httpd.conf). In
>> that case, I think
>> you should stick with IP-based vhosts. Your Apache config
>> would then be:
>> 
>> <VirtualHost 111.22.33.44 >
>> ........
>> ........
>> </VirtualHost>
>> 
>> With this setup, the "host" header is ignored and all requests to
>> 111.22.33.44, no matter what domain they come in on, will go
>> to the right
>> place -- from Apache's standpoint, I don't know if it's
>> handled correctly in
>> Tomcat. You should be able to set up your "Host" directive in
>> server.xml to
>> catch the IP Address and make it work that way, though.
>> 
>> I think the real problem with Name-based vhosts comes when
>> you're trying to
>> point more than one domain name at the same Tomcat webapp:
>> 
>> NameVirtualHost 111.22.33.44
>> 
>> <VirtualHost 111.22.33.44>
>> ServerName "foo.com"
>> ServerAlias "www.foo.com"
>> .......
>> </VirtualHost>
>> 
>> <VirtualHost 111.22.33.44>
>> ServerName "bar.com"
>> ServerAlias "www.bar.com"
>> .......
>> </VirtualHost>
>> 
>> Now, if you want foo.com, www.foo.com, bar.com, and
>> www.bar.com to all point
>> at the same webapp, there's no way to do it without having
>> four different
>> instances of your webapp -- at least not in TC 3.2.x. I don't
>> know about
>> 3.3, but I think 4.0 has an "Alias" directive. I'm not sure
>> if it's actually
>> implemented, though.
>> 
>> It may be kind of extreme to have different vhosts pointing
>> at the same
>> webapp, however I think it's pretty common to want foo.com
>> and www.foo.com
>> to point to the same place. It's really unfortunate that
>> Tomcat (3.2.x)
>> doesn't handle this without having to instantiate two
>> different webapps. I'd
>> be interested in fixing this in 3.2.x, if development wasn't already
>> frozen...
>> 
>> Thanks,
>> --jeff
>> 
>> ----- Original Message -----
>> From: "Larry Isaacs" <[EMAIL PROTECTED]>
>> To: <[EMAIL PROTECTED]>
>> Sent: Monday, August 20, 2001 11:23 AM
>> Subject: RE: VHosts causing app to load twice
>> 
>> 
>>> In Tomcat 3.3 I have made changes to ApacheConfig.java to try
>>> to address this.  I think with Tomcat 3.2.2 you will need to
>>> do the Apache part manually, which it seems you may already
>>> be doing.
>>> 
>>> I haven't done much with Vhosts on Apache beyond my tests
>>> while playing with ApacheConfig.  If I am in error, someone
>>> let me know. It is my understanding that what you want is:
>>> 
>>> server.xml
>>> <Host name="www.foo.com" >
>>> <Context ... />
>>> </Host>
>>> 
>>> httpd.conf or an include:
>>> NameVirtualHost 111.22.33.44
>>> 
>>> <VirtualHost 111.22.33.44 >
>>> ServerName www.foo.com
>>> ...
>>> </VirtualHost>
>>> 
>>> For me, this works under Tomcat 3.3.  Both "http://111.22.33.44/...";
>>> and "http://www.foo.com/..."; come over to Tomcat as "www.foo.com".
>>> I haven't tried this with Tomcat 3.2.x.  I also haven't tried this
>>> with *nix, just Win2k and Win98.
>>> 
>>> One additional note.  I had lots of trouble dealing with the "root"
>>> contexts.  Your httpd.conf below says the "root" context (i.e.
>>> DocumentRoot) is at "/usr/local/apache/htdocs" and Tomcat thinks
>>> it is at "/usr/local/apache/servlets".  I think this situation is
>>> ripe for problems.  Not knowing your application, it is hard to say
>>> what the best approach would be.
>>> 
>>> Larry
>>> 
>>> 
>>>> -----Original Message-----
>>>> From: Steve Heard [mailto:[EMAIL PROTECTED]]
>>>> Sent: Monday, August 20, 2001 1:44 PM
>>>> To: [EMAIL PROTECTED]
>>>> Subject: Re: VHosts causing app to load twice
>>>> 
>>>> 
>>>> 3.2.2
>>>> 
>>>> 
>>>> 
>>>> 
>>>> on 8/20/01 12:53 PM, Larry Isaacs at [EMAIL PROTECTED] wrote:
>>>> 
>>>>> Which version Tomcat are you using?  I have tried to deal with
>>>>> this issue in Tomcat 3.3.
>>>>> 
>>>>> Larry
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Steve Heard [mailto:[EMAIL PROTECTED]]
>>>>>> Sent: Monday, August 20, 2001 12:39 PM
>>>>>> To: [EMAIL PROTECTED]
>>>>>> Subject: VHosts causing app to load twice
>>>>>> 
>>>>>> 
>>>>>> I have a servlet based application that needs to be accessed
>>>>>> using both the
>>>>>> the server IP address and the server domain name.
>>>>>> 
>>>>>> The problem is that because I have two <host> entries
>> for the same
>>>>>> application tomcat "loads" them twice. Not only does this
>>>>>> leave me with two
>>>>>> instances of the servlets, but the ones I have  marked to
>>>>>> load on init have
>>>>>> their code called twice which interferes with itself.
>>>>>> 
>>>>>> I have tried every combination of VirtualHosts I can think of
>>>>>> and always run
>>>>>> into the issue of in order for Tomcat to recognize that it
>>>>>> should handle the
>>>>>> request to the servlet I have to add a <Host> entry in
>>>>>> server.xml. If I
>>>>>> leave out the entry for the IP address Apache passes the
>>>>>> request along to
>>>>>> tomcat fine, but then Tomcat doesn't recognize it. Likewise
>>>>>> for the domain
>>>>>> name.
>>>>>> 
>>>>>> Any thoughts or help? I have included snippets of what I
>>>> think are the
>>>>>> relevant config files and how they should look.
>>>>>> 
>>>>>> -Steve
>>>>>> 
>>>>>> ----------------------------------------------
>>>>>> From http.conf:
>>>>>> 
>>>>>> ...
>>>>>> 
>>>>>> NameVirtualHost 111.22.33.44
>>>>>> 
>>>>>> <VirtualHost 111.22.33.44 >
>>>>>> ServerName 111.22.33.44
>>>>>> ErrorLog /usr/local/apache/logs/error_log
>>>>>> DocumentRoot /usr/local/apache/htdocs
>>>>>> 
>>>>>> JkMount /*.servlet ajp13
>>>>>> </VirtualHost>
>>>>>> 
>>>>>> <VirtualHost 111.22.33.44 >
>>>>>> ServerName www.foo.com
>>>>>> ErrorLog /usr/local/apache/logs/error_log
>>>>>> DocumentRoot /usr/local/apache/htdocs
>>>>>> 
>>>>>> JkMount /*.servlet ajp13
>>>>>> </VirtualHost>
>>>>>> ----------------------------------------------
>>>>>> 
>>>>>> ----------------------------------------------
>>>>>> From server.xml:
>>>>>> 
>>>>>> ...
>>>>>> 
>>>>>> <Host name="111.22.33.44" >
>>>>>> <Context path="" docBase="/usr/local/apache/servlets" />
>>>>>> </Host>
>>>>>> 
>>>>>> 
>>>>>> <Host name="www.foo.com" >
>>>>>> <Context path="" docBase="/usr/local/apache/servlets" />
>>>>>> </Host>
>>>>>> 
>>>>>> ...
>>>>>> ----------------------------------------------
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to