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

This version
History Node

1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
RPX-1.0.tar.gz (17.4 kB) Copy SHA256 hash SHA256 Source None Oct 25, 2009

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page