The Apache web server is the last piece of our service stack. Like Ruby on Rails or Tomcat, Zope has its own simple HTTP server, but fronting it with Apache gives us many additional features often necessary in a production environment:
HTTPS support
Virtual hosting
Fast, regular-expression based redirections
Compression of responses for faster transfer
Support for a wide ecosystem of modules providing access control, content transformation, and more
Apache is well supported in any package management system, and binaries are available for Windows (though IIS also works fine if you install a third-party filter to enable proxying). On Debian, installation is as simple as...
aptitude install apache2
We'll also need a few modules:
mod_proxy
, which provides the general framework for reverse proxyingmod_proxy_http
, which provides HTTP proxying in particular, using the abovemod_rewrite
, which lets us drive our reverse proxying with flexible regular-expression based pattern matchingmod_deflate...