AFAIK you _do_ need virtual hosts for mod_jk connectors just the same as
http connectors. I prefix this with a big afaik, but the way I see it
working is that tomcat is still receiving the request, just over a
different protocol. tomcat still needs to be able to serve one context
and not another depending on what the request looks like...
hth
dim
On Mon, 13 Aug 2001 [EMAIL PROTECTED] wrote:
>
> Hi Jan,
>
> I 've got an additional question.
>
> You said, that after implementing virtual host in apache you do not need to
> specify them in the tomcat apache is connecting to.
> Wouldn't your example contexts be mapped to any single virtual host
> specified in apache?
>
> The only way we could get rid of that behaviour was , to enclose the
> contexts in server.xml
> with the appropriate virtual host tags.
>
> Is there another way?
>
>
> regards
>
> stefan
>
>
>
>
>
> Jan
>
> Labanowski An: [EMAIL PROTECTED]
>
> <[EMAIL PROTECTED]> Kopie: Jan Labanowski <[EMAIL PROTECTED]>
>
> Thema: Re: Newbie: Apache Tomcat mod_jk
>Virtual Hosts
> 13.08.01
>
> 03:59
>
> Bitte
>
> antworten an
>
> tomcat-user
>
>
>
>
>
>
>
>
>
> On Sun, 12 Aug 2001 [EMAIL PROTECTED] wrote:
>
> > So would you say that this entry in the server.xml is unnecessary:
> >
> > server.xml:
> >
> > > <Host name="www.neckers.com" >
> > > <Context path=""
> > > docBase="/home/vs04025/jspwebapps" />
> > > crossContext="false"
> > > debug="0"
> > > reloadable="true" >
> > > </Context>
> > >
> > > </Host>
>
>
> Again... Without knowing what you want to do, it is hard to advise.
> The <Host>....</Host> if for setting virtual hosts in Tomcat.
> You say, you want to connect Tomcat to Apache.
> Then you should do virtual hosts in Apache, not in Tomcat.
> In Tomcat server.xml, you should only provide the connector for Apache,
> say:
> <!-- Apache AJP13 support. -->
> <Connector className="org.apache.tomcat.service.PoolTcpConnector">
> <Parameter name="handler"
> value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
> <Parameter name="port" value="8007"/>
> </Connector>
>
> (the port 8007 should be the same as in workers.properties)
>
> and you should provide contexts, say:
> <Context path="/examples"
> docBase="webapps/examples"
> crossContext="false"
> debug="0"
> reloadable="true" >
> </Context>
>
> <Context path="/jspwebapps"
> docBase="/home/vs04025/jspwebapps" />
> crossContext="false"
> debug="0"
> reloadable="true" >
> </Context>
>
>
> So you can access them as:
> http://my.machine.com/examples
> and
> http://my.machine.com/jspwebapps
>
> (assuming that your appache listens to html on port 80).
>
>
> Jan
>
>
> >
> > Orlando
> >
> > Jan Labanowski wrote:
> >
> > > On Sat, 11 Aug 2001 [EMAIL PROTECTED] wrote:
> > >
> > > > I am trying to get tomcat to work according to the
> tomcat-apache-howto:
> > > >
> > > > I want apache to serve static files as it has been doing and pass
> .jsp and servlet
> > > > requests to tomcat:
> > > >
> > > > How will they work together?
> > > >
> > > > In a nutshell a web server is waiting for requests. When
> these
> > > > requests arrive the server does whatever is needed
> > > > to serve the requests by providing the necessary content.
> Adding
> > > > Tomcat to the mix may somewhat change this
> > > > behavior. Now the web server needs to perform the
> following:
> > > >
> > > > Before the first request can be served, Apache
> needs to load a
> > > > web server adapter library (so Tomcat can
> > > > communicate with Apache) and initialize it.
> > > > When a request arrives, Apache needs to check and
> see if it
> > > > belongs to a servlet; if so it needs to let the
> > > > adapter take the request and handle it.
> > > >
> > > > We'd like Apache to handle our static content, such as
> images and HTML
> > > > documents, and forward all requests for
> > > > dynamic content to Tomcat. More specifically, we need
> answers to the
> > > > following questions:
> > > >
> > > > 1. How will Apache know which request / type of
> requests
> > > > should be forwarded to Tomcat?
> > >
> > > ==================================
> > > Through the stuff which you provided in mod_jk.conf file which is
> usually
> > > included in the Apache's httpd.conf at the end.
> > > This file contains instructions which tell Apache which stuff to
> > > process by itself and which stuff to send to Tomcat:
> > > For example:
> > >
> > > JkWorkersFile
> /usr/local/tomcat_3.2.1/tomcat-3.2.1/conf/workers.properties
> > > # Tells where is the workers properties
> > >
> > > JkLogFile /usr/local/tomcat_3.2.1/tomcat-3.2.1/logs/mod_jk.log
> > > # where is the log file to write to
> > >
> > > Alias /examples "/usr/local/tomcat_3.2.1/tomcat-3.2.1/webapps/examples"
> > > That URIs which start from /examples are located in this physical
> directory
> > >
> > > <Directory "/usr/local/tomcat_3.2.1/tomcat-3.2.1/webapps/examples">
> > > Options Indexes FollowSymLinks
> > > </Directory>
> > > That this directory should use these options
> > >
> > > #
> > > # The following line mounts all JSP files and the /servlet/ uri to
> tomcat
> > > #
> > > JkMount /examples/servlet/* ajp13
> > > That URIs with this structure should be sent to Tomcat
> > >
> > > JkMount /examples/*.jsp ajp13
> > > That URIs with this structure should be sent to Tomcat
> > > ====================================
> > >
> > > > 2. How will Apache forward these requests to
> Tomcat?
> > >
> > > ===================================
> > > You start Tomcat before apache. Tomcat runs and opens the listening
> socket
> > > on the port which you specified in server.xml. Tomcat acts as TCP
> server
> > > and LISTENS for requests from Apache.
> > > Then you start Apache. Apache knows now (mod_jk.conf) where to send
> > > the requests for JSP and servlets. When request arrives, Apache sends
> > > the request to Tomcat (Apache is a client in the Apache Tomcat
> communication).
> > > The Tomcat and apache talk via special language called ajp13 (in this
> case)
> > > and after Tomcat is finished, it send the response back to Apache, and
> > > Apache send it back to the browser which requested it.
> > > ===================================
> > >
> > > > 3. How will Tomcat accept and handle these
> requests?
> > >
> > > Tomcat can be a Web server, but in the case of its interaction with
> Apache
> > > these functions are not used, and in fact should be blicked in
> server.xml.
> > > When Tomcat works with Apache, they talk to each other via special
> protocol
> > > using the TCP Socket. The protocol is not HTTP, it is Apache JServ
> Protocol
> > > or whatever it was called in the Middle Ages. Tomcat is a server in
> this
> > > case, and does all the processing of JSP and Servlets for Apache.
> > > Than it returns resulting HTML to Apache, so Apache can send it to the
> > > browser which requested it.
> > >
> > > ========================
> > >
> > > >
> > > > The majority of our time will be spent dealing with
> points 1 and 2; 3
> > > > should be a snap!
> > > >
> > > > What's required to pull this off?
> > > >
> > > > Answers to the above three questions!
> > > >
> > > > 1. Modify Apache's httpd.conf file.
> > > > 2. Install a web server adapter.
> > > > 3. Modify Tomcat's server.xml file.
> > > >
> > > > It is assumed that you are comfortable modifying the
> configuration of
> > > > Tomcat and Apache separately before you've
> > > > attempted to integrate the two. As such, we speak in
> > > > Tomcat/Apache/Servlet lingo, not pausing to explain what's
> > > > already been taught in their respective user guides.
> Details on Tomcat
> > > > setup can be found in the Tomcat User's
> > > > Guide, while Apache configuration information can be
> found in the
> > > > Apache User's Guide.
> > > >
> > > > Did I misunderstand this howto?
> > > > So do I really need to have tomcat running if I am using mod_jk?
> > >
> > > Yes... mod_jk is just a connector, i.e., connects Apache and Tomcat.
> > > It has no processing functions beside send request to Tomcat, and get
> > > response back from Tomcat. Tomcat does the actual processing. Apache
> > > is just a client of Tomcat for requests which require JSP/Servlets
> > > which Apache does not know how to do.
> > >
> > > >
> > > > Thank you,
> > > >
> > > > Orlando
> > > >
> > > >
> > > > Jan Labanowski wrote:
> > > >
> > > > > I am not sure what you are trying to do...
> > > > >
> > > > > If you want to do virtual hosts in Apache, then do them in Apache.
> > > > > In this case, Tomcat does not know anything about virtual hosts,
> > > > > and processes stuff which is handled to it via a connector.
> > > > > In the httpd.conf you specify your virtual hosts between the
> > > > >
> > > > > <VirtualHost address:port>
> > > > >
> > > > > Regular stuff like ServerAdmin, DocumentRoot, etc. and
> > > > > stuff, including your mod_jk stuff like:
> > > > >
> > > > > JkWorkersFile path
> > > > > JkLogFile path1
> > > > > JkLogLevel error
> > > > > JkMount /*.jsp ajp13
> > > > > JkMount /servlet/* ajp13
> > > > > Alias /examples
> "/jakarta_3.2.1/jakarta-tomcat-3.2.1/webapps/examples"
> > > > > <Directory "/jakarta_3.2.1/jakarta-tomcat-3.2.1/webapps/examples">
> > > > > Options Indexes FollowSymLinks
> > > > > </Directory>
> > > > > JkMount /examples/servlet/* ajp13
> > > > > JkMount /examples/*.jsp ajp13
> > > > > ....
> > > > > </VirtualHost>
> > > > >
> > > > > And on the Tomcat site you do not know anything about virtual
> hosts,
> > > > > since Tomcat processes what it gets from Apache via connector and
> > > > > has no say in how requests are forwarded to it (Apache is the boss
> here).
> > > > > You do not use the <host> tag in server.xml and use regular
> workers.properties
> > > > >
> > > > > When you do virtual hosts in Tomcat, then you do not use Apache,
> and
> > > > > talk HTTP to the outside world directly. In other words, Tomcat is
> your
> > > > > web server, and you configure virtual hosts in tomcat, and do not
> talk
> > > > > to apache, but to a client (browser) directly. Then you do not need
> mod_jk
> > > > > and you do not need Apache. You use Tomcat a standalone Web server
> which
> > > > > has nothing to do with Apache.
> > > > >
> > > > > On Sat, 11 Aug 2001 [EMAIL PROTECTED] wrote:
> > > > >
> > > > > > I have tried to start tomcat with both a generic server.xml and
> one that
> > > > > > I modified according to the mod_jk-howto and emails from the
> group.
> > > > > > In both instances, the worker.properties file remained the same
> as outlined in
> > > > > > this email thread(see below).
> > > > > > It seems that both setups yield the same logfile output. However,
> I do not see
> > > > > > any instances of tomcat processes running when using the modified
> server.xml.
> > > > > >
> > > > > > The only mod to that file being the extra Host entry:
> > > > > >
> > > > > > <Host name="www.netcrackers.com" >
> > > > > > <Context path=""
> > > > > > docBase="/home/vs04025/jspwebapps" />
> > > > > > crossContext="false"
> > > > > > debug="0"
> > > > > > reloadable="true" >
> > > > > > </Context>
> > > > > >
> > > > > > </Host>
> > > > > >
> > > > > >
> > > > > ... rest deleted ....
> > > > >
> > > > > Jan K. Labanowski | phone: 614-292-9279, FAX:
> 614-292-7168
> > > > > Ohio Supercomputer Center | Internet: [EMAIL PROTECTED]
> > > > > 1224 Kinnear Rd, | http://www.ccl.net/chemistry.html
> > > > > Columbus, OH 43212-1163 | http://www.osc.edu/
> > > >
> > >
> > > Jan K. Labanowski | phone: 614-292-9279, FAX:
> 614-292-7168
> > > Ohio Supercomputer Center | Internet: [EMAIL PROTECTED]
> > > 1224 Kinnear Rd, | http://www.ccl.net/chemistry.html
> > > Columbus, OH 43212-1163 | http://www.osc.edu/
> >
>
> Jan K. Labanowski | phone: 614-292-9279, FAX: 614-292-7168
> Ohio Supercomputer Center | Internet: [EMAIL PROTECTED]
> 1224 Kinnear Rd, | http://www.ccl.net/chemistry.html
> Columbus, OH 43212-1163 | http://www.osc.edu/
>
>
>
>
>