web-dev-qa-db-ja.com

WSGIを使用したApache2でのSSL

Django維持しているサイトにSSLを設定しようとしていますが、SSLを使用してVirtualHostを設定するときに少し問題があります。- こちら の指示に従いましたが、毎回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>
43
Shane Reustle

行を削除します。

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

そのVirtualHost内のmydomainのWSGIProcessGroupは、80のWSGIDaemonProcess定義に到達できます。

つまり、エラーメッセージが示唆するように、WSGIDaemonProcessの名前、つまり「mydomain」は、Apacheサーバー全体で一意である必要があります。

示されているようにVirtualHosts全体を参照することは、サイトのHTTPとHTTPSの両方のバリアントが同じデーモンプロセスグループ/インタープリターで引き続き実行されることを意味します。

48

それが別の助けになることを願って投稿する...

仮想ホストファイルがサイトが有効なディレクトリで2回シンボリックリンクされていたため、このエラーが発生しました。

12
user2765486