Подтвердить что ты не робот

SSL на Apache2 с WSGI

Я пытаюсь настроить SSL на сайте Django, который я поддерживаю, и имею немного проблем с настройкой своего VirtualHost с помощью SSL. Я выполнил инструкции здесь, но каждый раз, когда я пытаюсь перезапустить apache, он говорит мне, что он не может перезагружаться из-за того, что несколько виртуальных хостов используют тот же конфигуратор wsgi:

/etc/init.d/apache2 reload
Syntax error on line 33 of /etc/apache2/sites-enabled/www.mydomain.com:
Name duplicates previous WSGI daemon definition.
...fail!

Я понимаю, что происходит, просто не как это исправить. Любые предложения приветствуются, спасибо! Вот как выглядит мой файл VirutalHosts:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias / /sites/mydomain/wsgi_handler.py
    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    WSGIProcessGroup mydomain

    # Static Directories
    Alias /static /sites/mydomain/static/
    <Location "/static">
            SetHandler None
    </Location>

    Alias /img /sites/mydomain/img/
    <Location "/img">
            SetHandler None
    </Location>

</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias / /sites/mydomain/wsgi_handler.py
    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    WSGIProcessGroup mydomain

    # Static Directories
    Alias /static /sites/mydomain/static/
    <Location "/static">
            SetHandler None
    </Location>

    Alias /img /sites/mydomain/img/
    <Location "/img">
            SetHandler None
    </Location>

    # SSL Stuff
    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/crt/vhost1.crt
    SSLCertificateKeyFile /etc/apache2/ssl/key/vhost1.key
    <Location />
            SSLRequireSSL On
            SSLVerifyClient optional
            SSLVerifyDepth 1
            SSLOptions +StdEnvVars +StrictRequire
    </Location>
</VirtualHost>
4b9b3361

Ответ 1

Удалите строку:

WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1

из VirtualHost для 443. WSGIProcessGroup для mydomain в этом VirtualHost может перейти к определению WSGIDaemonProcess в 80.

Другими словами, как пытается сообщить сообщение об ошибке, имя WSGIDaemonProcess, то есть, "mydomain", должно быть уникальным для всего сервера Apache.

Ссылаясь на VirtualHosts, как указано, как HTTP, так и HTTPS-варианты сайта будут по-прежнему выполняться в той же группе процессов/интерпретатора демона.

Ответ 2

Публикация в надежде, что это поможет другому...

Я столкнулся с этой ошибкой, потому что файл виртуального хоста был дважды привязан к ссылкам в каталоге с поддержкой сайтов.