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>
行を削除します。
WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
そのVirtualHost内のmydomainのWSGIProcessGroupは、80のWSGIDaemonProcess定義に到達できます。
つまり、エラーメッセージが示唆するように、WSGIDaemonProcessの名前、つまり「mydomain」は、Apacheサーバー全体で一意である必要があります。
示されているようにVirtualHosts全体を参照することは、サイトのHTTPとHTTPSの両方のバリアントが同じデーモンプロセスグループ/インタープリターで引き続き実行されることを意味します。
それが別の助けになることを願って投稿する...
仮想ホストファイルがサイトが有効なディレクトリで2回シンボリックリンクされていたため、このエラーが発生しました。