This is version . It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]

This is how I use mod_proxy in order to have apache proxy to the tomcat server. It's recommended to understand how mod_proxy works because it's easy to turn your apache server into an "open web proxy" if it's misconfigured. ProxyRequests off is a good option to use.

I've put this in a virtual host declaration:

ProxyPass /wiki/    http://localhost:8080/JSPWiki/
ProxyPassReverse /wiki/     http://localhost:8080/JSPWiki/

The jspwiki is accessed by http://virtualhost/wiki/

http://httpd.apache.org/docs/mod/mod_proxy.html


An alternative option is to use the AJPv13 Protocol through the use of JK connectors.

Just download the module, load it in Apache, create and customise a workers.properties (or workers2.properties in the case of JK2) file in the Apache conf directory and it will connect to Tomcat using the appropriate connector (configured by default in Tomcat's server.xml).

This is a more efficient way of achieving the same effect as a reverse proxy.


If you require editors to set a cookie in order to edit a page, ProxyPassReverse won't work. Then you need to configure Tomcat with proxy support too. Like this:

  • Edit server.xml
  • Identify the connector which listens to port 8080 (search for port="8080")
  • Add proxyPort="80"
  • Add proxyName="virtualhost" where virtualhost is the name of your host
  • Restart Tomcat

Tomcat 4.1 Proxy Howto


If you have virtual host and use ProxyPass to forward to tomcat, you should use hostnames in the proxy. So instead of
ProxyPass /wiki/    http://localhost:8080/JSPWiki/
ProxyPassReverse /wiki/     http://localhost:8080/JSPWiki/
Use
ProxyPass /wiki/    http://virutalhost.server.com:8080/JSPWiki/
ProxyPassReverse /wiki/     http://virtualhost.server.com:8080/JSPWiki/
The wiki:baseUrl tag gets ServerName from the host Header, an in my case, the redirect pointing to an internal address, so the URL for stylesheets etc were not accessible externally. You can use the following jsp to test the headers.
<html>
<head><title>Header test</title></head>
<body>
<%  java.util.Enumeration names = request.getHeaderNames();
        while (names.hasMoreElements()) {
            String name = (String)names.nextElement();
            out.println(name+": "+request.getHeader(name)+"<br>");
        }
    %>
</body>
</html>
-- Tested with Tomcat 5.0.28. Apache 2.0.52 and JSPWiki 2.3.55

Add new attachment

Only authorized users are allowed to upload new attachments.
« This particular version was published on 15-Dec-2005 23:26 by MikeWall.