我有一个需要一些用户凭据的 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 工作。我应该如何处理?
谢谢!