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 doesn't support)
  • 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