python - 使用 Django 制作 HTTPS 站点

标签 python django https

我正在使用 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

但是,当我尝试在本地主机上加载页面时,该页面未加载,并且仅收到一条错误消息“此网页不可用”。为我的网站启用 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

最佳答案

事实证明 https 在本地主机上不起作用,这是我以前不知道的。

关于python - 使用 Django 制作 HTTPS 站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025589/

相关文章:

python - 合并计算的文件内容并在输出中显示先前计算的数据

python - 获取卷积算法失败。这可能是因为 cuDNN 初始化失败,

python - 循环读取文件中的特定行(优化)

python - 在单个查询中获取外键对象

Django:唯一 ID 生成器

node.js - 使用 JADE 的 https nodeJS 无法正确显示网站

python - 为 pip 格式化 requirements.txt 文件,其中一个或多个包具有不同的索引 url

python - Django - 将属性值传递给 TemplateView 中的 as_view

Apache 反向代理 https 配置导致 503 错误

ruby-on-rails - AWS Elastic Load Balancer 有选择地启用 SSL