我意识到有很多链接在讨论这个话题,但到目前为止,整个过程中没有任何内容对我有用。我只想知道如何为我的项目启用SSL加密的明确步骤。
我的要求:应用的所有页面都需要使用“HTTPS”而不是“HTTP”。
我安装了Bitnami djangostack-1.4.5-0,现在我正在我的localhost端口81上进行开发,所以如果我也可以测试重定向,这将有很大帮助。
我已经有一个虚拟证书,我在以下文件夹中创建了“myapp.crt”,其密钥为“myapp.key” C:\ BitNami \ djangostack-1.4.5-0 \ apache2的\ CONF
之后我读到的所有链接都让我感到困惑,具体而言我应该改变。请帮忙!!并明确变化的下落。
myapp folder structure:
django.wsgi
manage.py
MY_APP (folder)
|_ settings.py
|_ wsgi.py
|_ urls.py
|_ _init_.py
|_ apps (folder)
|_ static (folder)
|_ templates (folder)
答案 0 :(得分:0)
我自己想出了这个,并认为它可能会帮助将来的某个人。
1. Go to httpd.conf located in [BitNami_Installation]\djangostack-1.4.5-0\apache2\conf:
make sure the following is without # in front of it
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so
<IfModule ssl_module>
Include conf/extra/httpd-ssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
2. Go to httpd-ssl.conf located in [BitNami_Installation]\djangostack-1.4.5-0\apache2\conf\extra
make sure the following is there
SSLCertificateFile "C:/BitNami/djangostack-1.4.5-0/apache2/conf/myapp.crt"
SSLCertificateKeyFile "C:/BitNami/djangostack-1.4.5-0/apache2/conf/myapp.key"
注意:证书和密钥是自行创建的
3. In settings.py
SESSION_COOKIE_SECURE= True
CSRF_COOKIE_SECURE=True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
现在一切都是这样,如果需要调整其他参数,则会尝试添加它。