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
Built Distribution
Hashes for wsgi_aws_unproxy-1.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 309f4784b3cca60b11ec5d38c657e0765b70a5f1728a55aed8e0d388959a46d4 |
|
MD5 | eabd44a6eedd9655dab5e1c6b8e83f29 |
|
BLAKE2b-256 | 8f27abf12c9b9aba3ef938cf4c06b632d738b97ced3388c4bfb3e08be03cf917 |