在Nginx后面通过HTTPS访问Django Admin

我在dginx后面的uwsgi中运行django.当我尝试访问https:// site / admin /时,我得到了预期的登录屏幕.通过表单登录似乎成功,但是,我只是回到登录屏幕. Firebug显示重定向到普通的http:// site / admin / url,然后由nginx重定向到https网址.

救命!我很困惑如何强制管理应用程序只使用https网址.

请注意,这似乎是一个相关的,未回答的问题:https://example.com/admin redirects to https://admin in Django Nginx and gunicorn
最佳答案
将以下内容添加到nginx.conf中为我解决了这个问题.

location / {
    ...
    include                 uwsgi_params;
    uwsgi_param             HTTP_X_FORWARDED_PROTOCOL https;
    uwsgi_param             UWSGI_SCHEME   $scheme;
}

除了将以下内容添加到settings.py:

SESSION_COOKIE_SECURE = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL','https')
CSRF_COOKIE_SECURE = True

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。