Skip to main content

Reverse ProXy accelerator

Project description

==============
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

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RPX-1.0.tar.gz (17.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page