django-revproxy
Yet another Django reverse proxy application
What it is and what it does
django-revproxy is a Django application that acts as a reverse proxy, forwarding incoming HTTP requests to another server and returning the proxied response to the client. It proxies all standard HTTP methods (GET, POST, PUT, DELETE, etc.), preserves client and server headers (except hop-by-hop headers), and can rewrite URLs and set authentication headers based on Django's user session state. It also supports optional XSLT transformation of responses via Diazo.
The package is designed for scenarios where you want Django to sit between clients and a backend service, handling authentication, request routing, or response transformation. It has minimal external dependencies—only Django and urllib3—and supports Django versions 3.0 through 4.2 and Python 3.7 through 3.11. The codebase is stable but aging, with no active development in recent months.
Use it for:
- Route authenticated requests through Django to a backend API, setting REMOTE_USER based on Django login state
- Rewrite URLs transparently so clients access a backend service through a Django-hosted path
- Apply XSLT transformations to HTML responses from a legacy backend before serving to clients
- Centralize HTTP header manipulation and forwarding logic in Django rather than a separate proxy layer
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Django application that forwards HTTP requests to another server and returns the response, optionally rewriting URLs and applying authentication checks.
Yes, if you need a lightweight reverse proxy integrated into Django and are comfortable with an aging but stable codebase. The low dependency count and broad Django version support make it straightforward to install. The copyleft license requires disclosure of modifications. No known vulnerabilities. Not recommended if you need active maintenance or cutting-edge features.
Install
django-revproxy on PyPI
pip
pip install django-revproxyuv
uv add django-revproxypoetry
poetry add django-revproxyInstalling django-revproxy
Before you install
Low install friction with only two runtime dependencies (Django and urllib3). Maintenance status is aging—last commit was 2026-02-08 and the latest release is 0.13.0 from 2024-11-06, so the package is stable but not actively developed.
License in practice
Licensed under MPL v2.0 (copyleft). This means you must disclose source code modifications to this package if you distribute it, though you can combine it with proprietary code under certain conditions.
Quickstart
pip install django-revproxy
In Django settings, add 'revproxy' to INSTALLED_APPS, then configure a URL pattern with revproxy views to forward requests to a target server.
Requires Django >= 3.0 and Python >= 3.7; optional XSLT transformation requires Diazo and lxml.
Verify before relying
- Exact configuration syntax and URL pattern setup for basic proxying use case
- Whether the package handles WebSocket proxying or only HTTP/HTTPS
- Performance characteristics under load or with large request/response bodies
Package facts
| License | MPL v2.0 (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — Django, urllib3 |
| Maintenance | aging — 646 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,491/month — #9,177 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_revproxy-0.13.0-py3-none-any.whl
Keywords: django, reverse proxy, revproxy
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
django-xffDjango middleware that extracts the real client…
permissive · top 15,000 on PyPI
django-ipwareRetrieves the client's IP address from a Django…
permissive · top 5,000 on PyPI
proxy.pyA lightweight, pluggable HTTP proxy server…
permissive · top 5,000 on PyPI
django-rest-passwordresetProvides REST API endpoints for Django…
permissive · top 15,000 on PyPI
django-defenderBlocks brute-force login attempts in Django by…
permissive · top 15,000 on PyPI
WSGIProxy2WSGIProxy2 wraps a remote HTTP application as a…
permissive · top 15,000 on PyPI
python-ipwareExtracts a client's IP address from web request…
permissive · top 5,000 on PyPI
django-cspDjango-CSP adds Content-Security-Policy headers…
permissive · top 5,000 on PyPI
django-upgradeAutomatically modernizes Django project code by…
permissive · top 15,000 on PyPI
django-hashidsProvides a Django model field that proxies…
permissive · top 15,000 on PyPI