1

我有一个需要一些用户凭据的 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 来请求管理员。我看过以下内容:

重写规则 (.*) https://example.com/ $1 [L,R=301] ...

我不确定如何在不消除别名的情况下使 RewriteRule 工作。我应该如何处理?

谢谢!

4

0 回答 0