我有一个需要一些用户凭据的django应用程序。我想通过HTTPS发送登录/注册数据。我已经自行生成了一个证书以进行测试,并且还要求提供外部证书,尽管这个证书正在申请中。
我想确保我不会搞砸我的AWS实例。我从不同的教程中抓取了一些内容。例如,在一个教程中,SSLCertificateKeyFile是一个.pem文件,但是另一个教程将它作为.key文件。我只能在我的dirs中找到一个.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] ...
我不知道如何在不摆脱Alias-ing的情况下使RewriteRule工作。我该怎么处理?
谢谢!