Конфигурация Apache для подключения SSL к Django

У меня есть приложение django, для которого требуются учетные данные пользователя. Я хочу отправить данные для входа/регистрации через HTTPS. Я самостоятельно сгенерировал сертификат для проверки, а также запросил внешний сертификат, хотя он находится на рассмотрении.

Я хочу убедиться, что не испорчу свой экземпляр AWS. Я взял кусочки из разных учебников. Например, в одном учебнике SSLCertificateKeyFile был файлом .pem, а в другом учебнике он был в виде файла .key. Я смог найти только файл .key в своих каталогах, поэтому я просто использовал его. Кроме того, я не уверен, является ли условие «IfDefine» необходимым/применимым, и я также не знаю, следует ли включать последнюю строку моего виртуального хоста 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 для запросов к администратору. Я видел следующее:

RewriteRule (.*) https://example.com/$1 [L,R=301] ...

Я не был уверен, как заставить работать RewriteRule, не избавляясь от Alias-ing. Как мне с этим справиться?

Спасибо!


person Ben    schedule 23.04.2011    source источник