SSL/HTTPS for Django
bpssl is a Django application that helps you support HTTPS on your website. The main functionality is performing redirection for HTTPS only URLs and views. For instance, if a request for your login view ‘/login’ is recieved over HTTP, the provided middleware can redirect the user to the equivalent HTTPS page.
- English: http://beproud.bitbucket.org/bpssl-1.0.2/en/
- 日本語: http://beproud.bitbucket.org/bpssl-1.0.2/ja/
bpssl draws inspiration from the well known SSL Middleware snippets on djangosnippets.org. It roughly supports the features of the following snippets:
Please file bugs at: http://bitbucket.org/beproud/bpssl/issues/
bpssl provides an SSLRedirectMiddleware which can redirect users from secure pages to non-secure pages and visa-versa. Urls are set up by adding regular expressions to the SSL_URLS setting in settings.py. SSLRedirectMiddleware can also be extended to support more specific use cases.
bpssl provides an ssl_view() decorator which can be used instead of the SSL_URLS to specify that a particular view should be secure.
Generally you will want to develop bpssl in a virtualenv with pip:
$ mkvirtualenv bpssl
You can install the requirements using the requirements.txt and pip:
$ pip install -r setup/requirements.txt
And run tests normally using setup.py:
$ python setup.py test
- Support for tests running up to Django 1.7 and Python 3.4
- Fixed issue with get_host() function in Django 1.5
- Fixed SSL_REQUEST_HEADER setting to use the custom setting, if available (Thanks Gabriel Grant)
- Initial Release