web-dev-qa-db-fra.com

SSL sur Apache2 avec WSGI

J'essaie de configurer SSL sur un Django Site I maintenir et d'avoir un peu de difficulté à mettre en place mon virtualhost avec SSL. J'ai suivi les instructions ici mais à chaque fois J'essaie de redémarrer Apache, cela me dit que cela ne peut pas redémarrer à cause de plusieurs virtualishosts usign la même configuration 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!

Je comprends ce qui se passe, mais pas comment le réparer. Toutes les suggestions sont appréciées, merci! Voici ce que mon fichier virutualhosts ressemble à:

<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>
43
Shane Reustle

Supprimer la ligne:

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

du Virtualhost pour 443. Le groupe WSGIPROCESS pour MyDomain dans ce Virtualhost est capable de toucher la définition de WsgidaemonProcess en 80.

En d'autres termes, lorsque le message d'erreur tente de suggérer, le nom de la WSGIDAemonProcess, c'est-à-dire "Mydomain", doit être unique pour l'ensemble du serveur Apache.

En se référant à travers virtualhosts comme indiqué, les variantes de site HTTP et HTTPS seront toujours exécutées dans le même groupe de processus Daemon/Interprète.

48
Graham Dumpleton

Poster dans l'espoir, cela vous aidera à un autre ...

J'ai rencontré cette erreur car un fichier d'hôte virtuel avait été lié à deux fois dans le répertoire compatible des sites.

12
user2765486