2013-08-02 6 views
1

Я использую Django для сборки сайта и хочу, чтобы одна часть моего сайта была в HTTPS.Создание сайта HTTPS с использованием Django

В моем файле settings.py, у меня есть

SESSION_COOKIE_SECURE = True

CSRF_COOKIE_SECURE = True

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

В моем файле wsgi.py, у меня есть os.environ['HTTPS'] = "on"

Тогда в моих взглядах .py для части сайта, над которой я работаю, я использую декоратор для f orce все, чтобы перенаправить на https.

def secure_required(view_func): 
    def _wrapped_view_func(request, *args, **kwargs): 
     if not request.is_secure(): 
      if getattr(settings, 'HTTPS_SUPPORT', True): 
       request_url = request.build_absolute_uri(request.get_full_path()) 
       secure_url = request_url.replace('http://', 'https://') 
       return HttpResponseRedirect(secure_url) 
     return view_func(request, *args, **kwargs) 
    return _wrapped_view_func 

Однако, когда я пытаюсь загрузить страницу на моем локальном хосте, страница не загружается, и я просто получаю ошибку, которая говорит: «Эта веб-страница не доступна.» Что мне не хватает, чтобы включить HTTPS для моего сайта?

Журнал веб-сервер показывает это:

13:38:22 web.1  | 2013-08-02 13:38:22 [48421] [CRITICAL] WORKER TIMEOUT (pid:48423) 
13:38:22 web.1  | 2013-08-02 13:38:22 [48421] [CRITICAL] WORKER TIMEOUT (pid:48423) 
13:38:22 web.1  | 2013-08-02 13:38:22 [48444] [INFO] Booting worker with pid: 48444 
+0

Что говорит журнал ошибок в веб-сервере? –

+0

@ dan-klasson обновил вопрос, чтобы показать журнал веб-сервера – user1998511

+0

, поэтому кажется, что когда я пытаюсь https: // на localhost он никогда не загружается, но когда я загружаю фактический сайт с помощью https: //, он работает. Не загружается ли https на localhost? – user1998511

ответ

1

Оказывается, HTTPS не работает на локальном хосте, который я не знал раньше.

Смежные вопросы