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
platform.

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

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