如何使用Bitnami为django应用程序启用SSL?

时间:2014-01-13 06:43:25

标签: django ssl apache2 bitnami

我意识到有很多链接在讨论这个话题,但到目前为止,整个过程中没有任何内容对我有用。我只想知道如何为我的项目启用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)

1 个答案:

答案 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')

现在一切都是这样,如果需要调整其他参数,则会尝试添加它。