Если под WSGI вы на самом деле имеете в виду Apache / mod_wsgi, то, хотя смонтированные приложения WSGI обычно запускаются в своих собственных подчиненных интерпретаторах, разделение 80/443 является особым случаем и даже в другом VirtualHost, если точка монтирования для WSGIScriptAlias, и имя сервера совпадают, они будут объединены.
<VirtualHost *:80>
ServerName www.example.com
WSGIScriptAlias / /some/path/django.wsgi.
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
WSGIScriptAlias / /some/path/django.wsgi.
</VirtualHost>
Это будет происходить и в режиме демона, но в режиме демона вам нужно определить только одну группу процессов демона в первом определении VirtualHost, а затем просто сослаться на это из обоих с помощью WSGIProcessGroup.
<VirtualHost *:80>
ServerName www.example.com
WSGIDaemonProcess mydjangosite ...
WSGIProcessGroup mydjangosite
WSGIScriptAlias / /some/path/django.wsgi.
</VirtualHost>
<VirtualHost *:444>
ServerName www.example.com
WSGIProcessGroup mydjangosite
WSGIScriptAlias / /some/path/django.wsgi.
</VirtualHost>
WSGIProcessGroup может работать как с VirtualHost только для одного и того же ServerName.
Django предоставляет метод is_secure () для определения, когда запрос поступил через HTTPS, который происходит от переменной WSGI с запросом wsgi.url_scheme, который устанавливается mod_wsgi.
Итак, у вас будет один файл скрипта Django WSGI и файл настроек. Вам просто нужно продублировать монтирование приложения, как описано в конфигурации Apache / mod_wsgi.