Skip to main content

Simple wsgi middleware to unproxy AWS

Project description

Set the correct REMOTE_ADDR based on the X-Forwarded-For header, while only trusting the CloudFront IP addresses.

This module is applied as WSGI middleware, fixing the IP-address retrieval for the entire application in a secure manner. As extra benefit, external packages no longer have to write abstraction layers to retrieve the IP-address header.

Django example

In Django edit the wsgi.py file to apply the module:

from django.core.wsgi import get_wsgi_application
from wsgi_aws_unproxy import UnProxy

application = get_wsgi_application()
application = UnProxy(application)

Now all packages can just read request.META['REMOTE_ADDR'] to fetch the correct IP. This includes contact forms, Sentry error reporting and rate limiting tools.

Installation

You can install the latest version using pip:

pip install wsgi-aws-unproxy

And apply it as WSGI middleware:

from wsgi_aws_unproxy import UnProxy

application = UnProxy(application)

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

wsgi-aws-unproxy-1.2.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

wsgi_aws_unproxy-1.2.1-py2.py3-none-any.whl (4.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file wsgi-aws-unproxy-1.2.1.tar.gz.

File metadata

  • Download URL: wsgi-aws-unproxy-1.2.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.7

File hashes

Hashes for wsgi-aws-unproxy-1.2.1.tar.gz
Algorithm Hash digest
SHA256 4e40a22f53af13f6e09bcc10ecc6c23ccbf26c26be6974b536568e06ac24121d
MD5 7a74f6f8b3c0a3c6808a8aa48480345b
BLAKE2b-256 f450c896a92f2ee00cfd9bc8c8482df60874afab38020410e2e4e57dfa39b20a

See more details on using hashes here.

Provenance

File details

Details for the file wsgi_aws_unproxy-1.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: wsgi_aws_unproxy-1.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.7

File hashes

Hashes for wsgi_aws_unproxy-1.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4b883036f7b5bf5b245ce347eee4e4e1bfc08c80f2f2168c38dffb3c52199a7d
MD5 86c6597bae39460e849c9147ce963fa2
BLAKE2b-256 a3304c0793a32bad84014a5a28fe47ab1a82eb4d524e93029278b62769d6bab4

See more details on using hashes here.

Provenance

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