2011-02-04 15 views
39

私が維持しているDjangoサイトでSSLを設定しようとしていて、SSLでVirtualHostを設定する際に少し問題があります。私は、命令hereに従ったが、私は、Apacheを再起動しようとするたびに、それがあるため、同じWSGIの設定をusign複数の仮想ホストを再起動することができない私に語った:WSGIを使用したApache2でのSSL

/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> 

答えて

45

行削除:443用のVirtualHostから

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

をそのバーチャルホストではmydomainためWSGIProcessGroupがでWSGIDaemonProcess定義に渡って到達することができます80.

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

説明したようにVirtualHostを参照すると、サイトのHTTPとHTTPSの両方が同じデーモンプロセスグループ/インタープリタで実行されます。それは別のを助ける期待して

11

投稿...

仮想ホストファイルは、サイト対応のディレクトリに二回シンボリックリンクされていたので、私は、このエラーが発生しました。

+0

愚かな私は、サイトの有効なフォルダ内にバックアップ用に同じconfファイルを貼り付けました。ありがとう! –

関連する問題