Skip to main content
https://img.shields.io/pypi/v/django-sslserver-v2.svg https://img.shields.io/pypi/pyversions/django-sslserver-v2.svg

Django SSL Server v2 is a SSL-enabled development server for the Django Framework, a clone of django-sslserver. This project is actively maintained and supports the latest version of Django and Python.

Please note that this should not be used for production setups. This app is intended for special use-cases. Most people should instead do a proper production deployment where a real webserver such as Apache or NGINX handles SSL.

Getting Started

Install the module in your Python distribution or virtualenv:

$ pip install django-sslserver-v2

Add the application to your INSTALLED_APPS:

INSTALLED_APPS = (...
"sslserver",
...
)

Start a SSL-enabled debug server:

$ python manage.py runsslserver

and access app on https://localhost:8000 or start server on specified port:

$ python manage.py runsslserver 127.0.0.1:9000

IPv6 support:

$ python manage.py runsslserver -6 [::]:7443

You’ll now be able to access your Django app on https://localhost:9000/

Browser Certificate Errors

Using the default settings, your local browser will make all sorts of noise that it doesn’t trust the certificate. This is expected.

Django SSL Server ships “batteries included” with a self-signed server certificate. With self-signed certificates, the server is effectively telling the user, “I’m such-and-such server, because I said so”. Whereas, with a commercial SSL certificate, the server tells the user, “I’m Bank of America, because VeriSign said so (or any other commercial certificate authority).”

There are two options for making the certificate warning go away in development:

Option 1: Tell your browser to explicitly trust the certificate. You can do this in your browser’s “advanced settings” tab, by installing sslserver/certs/development.crt as a trusted certificate. The mechanism for this varies from browser to browser.

Option 2: Use a certificate from a CA that your browser trusts, for example Letsencrypt. If you have a certificate/key pair from a certificate authority, you can tell Django SSL Server to use it with the following arguments:

$ python manage.py runsslserver --certificate /path/to/certificate.crt --key /path/to/key.key

Third-Party Static File Handlers

If you’re using a wrapper around your WSGI application such as dj_static or WhiteNoise, you probably want to let it handle serving static files. Otherwise, you may see 404s when requesting static files. You can disable the default behavior by using the --nostatic option.

Changelog

1.1

  • Fixed --skip-checks being silently ignored: runsslserver always ran Django’s system checks regardless of the flag. It now respects --skip-checks the same way Django’s own runserver does.

  • Verified working with Python 3.14 and Django 6.0.

Getting Involved

Feel free to open pull requests or issues. GitHub is the canonical location of this project.

Special Thanks

Special thanks to @teddziuba for building django-sslserver and all the contributers

Download files

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

Source Distribution

django_sslserver_v2-1.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_sslserver_v2-1.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file django_sslserver_v2-1.1.tar.gz.

File metadata

  • Download URL: django_sslserver_v2-1.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for django_sslserver_v2-1.1.tar.gz
Algorithm Hash digest
SHA256 4bf25aee6284874b01e191bb57d07fbc38264207e8fe63451e7307531a647828
MD5 2dbf2a9678eb699fcd72286745ddff04
BLAKE2b-256 1444c0485b9b9ea3621f19920a57fcaf9bd0cad6cb287c56c75ed4fb3c991dfe

See more details on using hashes here.

File details

Details for the file django_sslserver_v2-1.1-py3-none-any.whl.

File metadata

  • Download URL: django_sslserver_v2-1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for django_sslserver_v2-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12c0eb6091f40ef119c40cc7adf3715463509496edc09da3bc7aafb825021f1f
MD5 5cd794b37630b541e38f97174005da88
BLAKE2b-256 0951311be81ca8db256ccce9397c7ec261a6dc42a913490d10bb2cb8bfce48cd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1 This release

2 files

1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page