代码之家  ›  专栏  ›  技术社区  ›  damon

在同一个apache服务器中使用SSL运行两个django应用程序

  •  1
  • damon  · 技术社区  · 13 年前

    我有 apache2 安装于 ubuntu lucid ,和已启用 ssl 。现在我正在运行 django 应用程序(比方说 myapp1 )关于使用 mod_wsgi 。 我已配置 /etc/apache2/sites_enabled/ssl 文件和 /etc/apache2/sites-available/ssl 如下所示。

    现在我可以使用url运行我的应用程序

    https://127.0.0.1/myapp1
    

    我需要运行另一个django应用程序(比如 myapp2 )在同一服务器中,并且也使用SSL。那么,我应该如何配置它?有人能帮帮我吗?

    <VirtualHost *:443>
        ServerAdmin webmaster@localhost
    
        DocumentRoot /home/me/dev/python/django/myapp1
    
            SSLEngine on
            SSLOptions +StrictRequire
            SSLCertificateFile /etc/ssl/certs/server.crt
            SSLCertificateKeyFile /etc/ssl/private/server.key
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
        <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
    
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>
    
        ErrorLog /var/log/apache2/error.log
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
    
        CustomLog /var/log/apache2/access.log combined
        WSGIScriptAlias /myapp1 /home/me/dev/python/django/myapp1/myapp1.wsgi
        Alias /site_media/ /home/me/dev/python/django/myapp1/media/
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    
    </VirtualHost>
    
    1 回复  |  直到 13 年前
        1
  •  0
  •   Graham Dumpleton    13 年前

    通过添加:

    WSGIScriptAlias /myapp2 /home/me/dev/python/django/myapp2/myapp2.wsgi
    

    如果它们不能共享相同的静态媒体文件,则需要解决任何冲突。也就是说,让每个人在不同的位置拥有媒体,并为每个Django项目适当地配置设置。