2011-02-04 76 views
39

我正在嘗試在Django站點上設置SSL我維護並在使用SSL設置我的VirtualHost時遇到了一些問題。我跟着指示here但每次我試圖重新啓動Apache的時候,它告訴我,因爲多個virtualhosts usign相同WSGI配置它不能重新啓動:使用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

刪除行:從虛擬主機在該虛擬主機的mydomain

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

爲443. WSGIProcessGroup能夠跨越到WSGIDaemonProcess定義達成80.

換句話說,當錯誤消息試圖建議時,WSGIDaemonProcess的名稱,即'mydomain',對於整個Apache服務器必須是唯一的。

如所示的跨虛擬主機引用意味着站點的HTTP和HTTPS變體仍將在相同的守護進程組/解釋器中運行。

11

,希望這將有助於其他發佈...

我遇到了這個錯誤,因爲虛擬主機文件已在啓用站點的目錄符號鏈接了兩次。

+0

傻了,我粘貼了相同的conf文件,用於啓用網站的文件夾中的備份目的。謝謝! – 2017-10-17 09:19:46