Say I have a registered URL mywebsite.com
pointing to my server with a public IP address.
I want to run both tomcat and apache to serve pages (i.e., some static pages on apache and some dynamic pages on tomcat, like jsp etc...).
For the sake of simplicity, let's assume that apache is listening on 80 and tomcat on 8080.
I heard about mod_proxy
. Is it possible to have requests to mywebsite.com
go to apache and mywebsite/loggedin
go to tomcat? If yes, how should this be configured and where? Thanks.
I would recommend using
mod_jk
--it tends to be more specific thanmod_proxy
, and easier to debug. You can forward contexts. I.e., if I havewebapp1
andwebapp2
running on Tomcat, and I have animages
directory on Apache, this would work:This is also much easier to configure, and most distributions already have packages in their native package managers. Hope this helps!
mod_proxy works well with tomcat. There are 2 ways to proxy to tomcat via mod_proxy.
mod_proxy_ajp is a package which comes with apache as compared to mod_jk which needs to be downloaded and compiled. But mod_jk usually gets new features first and has more options. If your setup is NOT complex ... mod_proxy_ajp is the way to go. In which case in Tomcat, you need to configure tomcat to have a AJP connector. And you will not need an http connector in server.xml. For apache the directive may be as easy as this:
Proxy docs with ajp examples are here: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html