skip to navigation
skip to content

RPX 1.0

Reverse ProXy accelerator

1. What it is

RPX is useful when you have a mostly static website, but on a slow server

For instance, a public website with content handled by a full-fledged CMS like

It works a bit like a real proxy, but it is NOT a real proxy. It violates many
aspects of many RFC : it will totally ignore HTTP headers about aging,
expiration and caching of web pages and other HTTP content.

2. How it works (the big plan)

2.1 A normal reverse proxy works like this :

- client sends HTTP request to server

- the HTTP request is actually intercepted by the reverse proxy

- if the proxy has the requested content, and the content is not outdated, then
it will return the content

- else, the proxy retrieves the content from the real server, and stores it on
disk if possible (if it is not a dynamic content for instance)

2.2 RPX works like this :

- client sends HTTP request to server

- the HTTP request is also intercepted, but in a different way (it is just an
implementation detail, not very important)

- if the proxy has the requested content, it serves it right away (without
taking care of aging, expiry, etc.)

- the proxy writes all accesses in a separate log (a bit like the Apache
access.log file)

- a separate process parses the log on-the-fly, and for each parsed request,
if the content in the proxy cache is missing or outdated, it will download it
from the server, and put it in the proxy cache

3. How it works (implementation details)

The proxy itself is just Apache with an appropriate configuration.

The proxy cache is stored into a local directory (and served as static files
by Apache).

When a request must go to the real server, it will use mod_rewrite and mod_proxy.

The separate process (responsible of refreshing the content cache) is a small
and simple Python script.

4. Installation and Setup

See Docs/README  
File Type Py Version Uploaded on Size
RPX-1.0.tar.gz (md5) Source 2009-10-25 17KB