Skip to main content

Device Proxy. A reverse HTTP Proxy that can inspect and manipulate HTTP Headers before sending upstream.

Project description

device-proxy
============

Inspects incoming HTTP requests adds some HTTP headers and proxies upstream.
Has ability to add extra cookies for HTTP responses being sent back to the
client.

Installation
------------

Installation is pegged to the latest GPL version of Wurfl.

Assuming you're living in a virtualenv::

$ pip install -r requirements.pip
$ ./get-wurfl-2.1-db.sh

Running
-------

Run with `twistd`::

$ twistd -n devproxy --config config.yaml


Configuration
-------------

This is what the processing chain looks like::

+------------------+
| |
| Header & Cookie set
v |
(1) HAProxy -> (2) *n* DeviceProxies
|
(3)
| (if Cookie or Header set)
+--------------------------------> (4) *n* Backend Apps

1. Haproxy receives incoming traffic from Nginx
2. Request is passed to *n* number of Device Proxies running.
HTTP headers are inserted (possibly from cached WURFL or OpenDDR lookups).
Device Proxy has the option of inserting Cookies into the HTTP response
which can cache the Device Lookup (for subsequent requests HAProxy (1)
could use these cookie values to skip DeviceProxy completely for the
lifetime of the Cookie.)
DeviceProxy reverse proxies back to HAProxy with HTTP headers inserted.
3. HAProxy inspects the HTTP headers & cookies received and selects appropriate
backend application for the request. HAProxy can have a default fallback
backend. If the Cookie is already set then the DeviceProxies are skipped.
4. The Backend application renders the request with a template set suitable for
the given HTTP request.

--------------------------------------------------------------------------------

**NOTE:**
By default DeviceProxy only caches the lookup in Memcache, not in the Cookie.

--------------------------------------------------------------------------------

Project details


Download files

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

Source Distribution

device-proxy-0.1i.tar.gz (27.6 kB view details)

Uploaded Source

File details

Details for the file device-proxy-0.1i.tar.gz.

File metadata

  • Download URL: device-proxy-0.1i.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for device-proxy-0.1i.tar.gz
Algorithm Hash digest
SHA256 d222dc4c97a7cf8cad9e0f16087492b140e69d50aeadbe015751ea5485ec92cb
MD5 51965575a14eed04ef365f7ac94271ad
BLAKE2b-256 1b462deddf6addbc8f645adf899f5089a950e58e4fbed20a6aff9a5564f272a5

See more details on using hashes here.

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