1

Django を使用してサイトを構築していますが、サイトの一部を HTTPS にしたいと考えています。

私の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"

次に、作業中のサイトの一部の views.py で、デコレータを使用して、すべてを強制的に 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

ただし、ローカルホストでページを読み込もうとすると、ページが読み込まれず、「この Web ページは利用できません」というエラーが表示されます。Web サイトで HTTPS を有効にするために必要なものは何ですか?

Web サーバーのログには次のように表示されます。

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
4

1 に答える 1

1

以前は知りませんでしたが、localhost では https が機能しないことがわかりました。

于 2013-08-03T01:03:26.883 に答える