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