2011-02-04 25 views
39

Tôi đang cố gắng thiết lập SSL trên trang web Django mà tôi duy trì và gặp một chút rắc rối khi thiết lập VirtualHost với SSL. Tôi làm theo các hướng dẫn here nhưng mỗi lần tôi cố gắng khởi động lại apache, nó nói với tôi nó không thể khởi động vì nhiều VirtualHosts usign cấu hình wsgi cùng:SSL trên Apache2 với 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! 

tôi hiểu những gì đang xảy ra, chỉ cần không làm thế nào để sửa chữa nó. Bất kỳ đề xuất được đánh giá cao, cảm ơn! Đây là những gì tập tin VirutalHosts của tôi trông giống như:

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

Trả lời

45

Tháo dòng:

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

từ VirtualHost cho 443. Các WSGIProcessGroup cho mydomain trong VirtualHost đó là khả năng tiếp cận trên để định nghĩa WSGIDaemonProcess trong 80.

Nói cách khác, khi thông báo lỗi cố gắng đề xuất, tên cho WSGIDaemonProcess, tức là. 'Mydomain', phải là duy nhất cho toàn bộ máy chủ Apache.

Tham chiếu qua VirtualHosts như được chỉ ra nghĩa là cả hai biến thể HTTP và HTTPS của trang web sẽ vẫn chạy trong cùng một nhóm quy trình/phiên dịch daemon.

11

Đăng với hy vọng nó sẽ giúp khác ...

Tôi gặp phải lỗi này vì tệp máy chủ ảo đã được liên kết hai lần trong thư mục hỗ trợ trang web.

+0

Ngớ ngẩn tôi, tôi đã dán cùng một tệp conf cho mục đích sao lưu bên trong thư mục hỗ trợ trang web. Cảm ơn! –