Как использовать SSL с приложением Django (развернуто с использованием mod_wsgi и virtualenv)

Заявление об ограничении ответственности: я действительно не знаю, что делаю, поэтому, возможно, я неправильно сформулировал. Я также никогда не задавал / не отвечал на вопросы здесь раньше!

У меня есть приложение Django, работающее на Apache, которое я развернул с помощью mod_wsgi и virtualenv. Я хочу, чтобы некоторые части приложения использовали SSL, однако, когда я устанавливаю сертификат SSL, URL-адрес https переходит в файл index.html из моей папки public_html вместо приложения (которое находится за пределами public_html)

Например, посетите https://tradekandi.com . Этот URL представляет собой простой HTML-файл: public_html / index.html Затем посетите http://tradekandi.com . Это моя страница Django (в режиме обслуживания).

Я весь день искал stackoverflow и Google. Я попытался удалить documentroot из файла виртуальных хостов, но ничего не помогло. Я попытался добавить к нему строку SetEnvIf X-Forwarded-Proto https HTTPS = 1, но это тоже ничего не дало.

В моем файле виртуальных хостов есть следующие строки:

SSLEngine on 
SSLCertificateFile /etc/ssl/certs/tradekandi.com.crt
SSLCertificateKeyFile /etc/ssl/private/tradekandi.com.key
SSLCACertificateFile /etc/ssl/certs/tradekandi.com.cabundle

Каждый раз, когда я вношу какие-либо изменения, я перезапускаю apache и "касаюсь" файла wsgi приложения.

Как заставить https URL загружать приложение Django? Любая помощь приветствуется. Спасибо.

Подробнее о конфигурации httpd:


ServerName tradekandi.com
ServerAlias www.tradekandi.com
DocumentRoot /home/trade/public_html
ServerAdmin webmaster@tradekandi.com
UseCanonicalName Off
CustomLog /usr/local/apache/domlogs/tradekandi.com combined
CustomLog /usr/local/apache/domlogs/tradekandi.com-bytes_log "%{%s}t %I .\n%{%s}t %O ."
## User trade # Needed for Cpanel::ApacheConf

    suPHP_UserGroup trade trade


    SuexecUserGroup trade trade

ScriptAlias /cgi-bin/ /home/trade/public_html/cgi-bin/

Include "/usr/local/apache/conf/userdata/*.conf"  
Include "/usr/local/apache/conf/userdata/*.owner-root" 
Include "/usr/local/apache/conf/userdata/std/*.conf" 
Include "/usr/local/apache/conf/userdata/std/*.owner-root" 
Include "/usr/local/apache/conf/userdata/std/2/*.conf" 
Include "/usr/local/apache/conf/userdata/std/2/*.owner-root" 
Include "/usr/local/apache/conf/userdata/std/2/trade/*.conf"  
Include "/usr/local/apache/conf/userdata/std/2/trade/tradekandi.com/*.conf"




ServerName tradekandi.com
ServerAlias www.tradekandi.com
DocumentRoot /home/trade/public_html
ServerAdmin webmaster@tradekandi.com
UseCanonicalName Off
CustomLog /usr/local/apache/domlogs/tradekandi.com combined
CustomLog /usr/local/apache/domlogs/tradekandi.com-bytes_log "%{%s}t %I .\n%{%s}t %O ."
## User nobody # Needed for Cpanel::ApacheConf

    suPHP_UserGroup nobody nobody

ScriptAlias /cgi-bin/ /home/trade/public_html/cgi-bin/
SSLEngine on

SSLCertificateFile /etc/ssl/certs/tradekandi.com.crt
SSLCertificateKeyFile /etc/ssl/private/tradekandi.com.key
SSLCACertificateFile /etc/ssl/certs/tradekandi.com.cabundle
CustomLog /usr/local/apache/domlogs/tradekandi.com-ssl_log combined
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

    SSLOptions +StdEnvVars

Include "/usr/local/apache/conf/userdata/*.conf"

Если это уместно, это выделенный сервер под управлением CentOS, и я также использую его для размещения одного сайта на базе PHP.

Файл WSGI:

import os
import sys
sys.stdout = sys.stderr

from os.path import abspath, dirname, join
from site import addsitedir
sys.path.append('/home/trade/sites/tradekandi.com.env/lib/python2.7/site-packages')
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))

from django.conf import settings
os.environ["DJANGO_SETTINGS_MODULE"] = "trade.settings"

sys.path.insert(0, join(settings.PROJECT_ROOT, "apps"))

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

доп.conf с помощью директив mod_wsgi:

Alias /static/ /home/trade/public_html/static/


Order deny,allow
Allow from all


WSGIDaemonProcess trade python-path=/home/trade/sites/tradekandi.com.env/lib/python2.7/site-packages
WSGIProcessGroup trade

WSGIScriptAlias / /home/trade/sites/tradekandi.com.env/site/trade/deploy/pinax.wsgi


Order deny,allow
Allow from all

7
задан frostyterrier 28 October 2011 в 01:41
поделиться