Apache配置将SSL连接到Django

Apache配置将SSL连接到Django,django,apache,ssl,django-wsgi,Django,Apache,Ssl,Django Wsgi,我有一个django应用程序,需要一些用户凭据。我想通过HTTPS发送登录/注册数据。我已经自行生成了一个要测试的证书,并且还请求了一个外部证书,尽管这是挂起的 我想确保我不会把AWS实例搞砸。我从不同的教程中摘取了一些片段。例如,在一个教程中,SSLCertificateKeyFile是一个.pem文件,但另一个教程将其作为.key文件。我只能在我的目录中找到一个.key文件,所以我只是使用了它。此外,我不确定IfDefine conditional是否必要/适用,我也不知道是否应该包括我的S

我有一个django应用程序,需要一些用户凭据。我想通过HTTPS发送登录/注册数据。我已经自行生成了一个要测试的证书,并且还请求了一个外部证书,尽管这是挂起的

我想确保我不会把AWS实例搞砸。我从不同的教程中摘取了一些片段。例如,在一个教程中,SSLCertificateKeyFile是一个.pem文件,但另一个教程将其作为.key文件。我只能在我的目录中找到一个.key文件,所以我只是使用了它。此外,我不确定IfDefine conditional是否必要/适用,我也不知道是否应该包括我的SSL虚拟主机的最后一行,它似乎正在基于嗅探IE进行更改

我的mod WSGI配置通常如下所示:

   <VirtualHost *:80>
    ServerName mysite.com
    ServerAlias www.mysite.com

    DocumentRoot /home/dir/

    Alias /media/ /home/dir/public_html/media/
    <Directory /home/dir/public_html/media>
    Options -Indexes
    Order deny,allow
    Allow from all
    </Directory>

    Alias /admin_media/ /home/dir/project/admin/
    <Directory /home/dir/project/admin >
    Order deny,allow
    Allow from all
    </Directory>

    WSGIScriptalias / /home/dir/project/apache/django.wsgi

     WSGIScriptalias / /home/dir/project/apache/django.wsgi
    <Directory /home/dir/project/apache >
    Order deny,allow
    Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log
    </VirtualHost>
我为https连接添加了以下虚拟主机:

    <IfDefine SSL>

    <VirtualHost *:443>

    ServerName mysite.com
    ServerAlias www.mysite.com

    DocumentRoot /home/dir/

    SSLEngine on
    SSLCertificateFile /usr/lib/ssl/www.mysite.com.crt
    SSLCertificateKeyFile /usr/lib/ssl/www.mysite.com.key

      #SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

     </VirtualHost>
     </IfDefine>
这看起来对吗?这是否足以通过自定义装饰器开始要求某些视图使用https?我还想要求对管理员的请求使用https。我看到了以下几点:

重写规则。*$1[L,R=301] ...

我不知道如何在不删除别名的情况下使重写规则起作用。我该怎么处理

谢谢