This documentation relates to the latest version of Confluence.
If you are using an earlier version, please go to the documentation home page and select the relevant previous version.

Running Confluence behind Apache

Confluence 2.8 Documentation

Index

Introduction

Running Confluence behind a web server should be done for performance reasons in high-load environments. In general, web server caching and thread management is far superior to that provided by your application server's HTTP interface.

To run Confluence behind the Apache httpd web server, there are two main configuration options: mod_jk or mod_proxy.

Connection type Features
mod_proxy (also known as reverse proxy)
  • recommended connection method
  • simple HTTP proxy to application server
  • works with all application servers
  • if application paths are consistent, there is minimal load on the web server
mod_jk (also known as AJP)
  • uses the AJP binary protocol
  • provides failover (and load balancing, which Confluence supports only with a clustered license)
  • only works with some application servers (typically Tomcat)
  • if application paths are consistent, there is some load on the web server to translate requests to AJP
Features common to both mod_proxy and mod_jk
  • application paths must be consistent to avoid complex and slow URL rewriting
  • works with name-based virtual hosting, both on web server and app server
  • web server keeps a pool of connections to application server

Mod_proxy documentation

Mod_jk documentation

  • Using Apache with mod_jk is the main documentation for this configuration.
  • You can follow a similar method to the mod_proxy documentation above for setting up virtual hosts in Apache and Tomcat, if required.

Mod_jk2 not supported

The misleadingly-named mod_jk2 is an older method of connecting to Tomcat from Apache. Since mod_jk2 is no longer supported by the Apache Foundation, we do not support this configuration, and are not updating our mod_jk2 documentation. Mod_jk2 also has unresolved problems with Unicode URLs; you need to use either mod_proxy or mod_jk for international characters to work correctly in Confluence.

Other related documentation

Labels

 
  1. Feb 20, 2007

    JimNicholson says:

    We run Confluence under Tomcat 5.5.20, behind an Apache server configured for ht...

    We run Confluence under Tomcat 5.5.20, behind an Apache server configured for https-only connections. We use DNS-based virtual hosting, and use mod_proxy_ajp to connect confluence to Apache.

    The apache configuration for the vhost looks like this we use looks like this:

    <Location "/">
    RewriteEngine on
    RewriteBase /
    RewriteRule ^confluence$ confluence/ [R]
    </Location>

    ProxyPass /confluence/ ajp://localhost:8009/confluence/

    In our subjective tests, ajp is markedly faster than http, and mod_proxy_ajp is faster than mod_jk.

Add Comment