Django + uwsgi + nginx + SSL

标签 django uwsgi dotcloud

我在 DotCloud 上使用 Django,它在 uwsgi + nginx 之上使用 Django。我正在尝试将所有 http 流量重定向到 https,这导致重定向循环。我正在使用以下 http 配置

if ($http_x_forwarded_port != 443) { rewrite ^ https://$http_host/; }

Django 似乎不明白它是在 https 上运行的,并且没有保留 header 。它重定向 https://url.com/http://url.com/accounts/login/这是一次又一次重定向导致重定向循环。我不是真正的 nginx 专家,也不太了解它。我会做错什么?

简而言之,我如何在运行在 uswsgi 和 nginx 之上的 django 中运行重定向 http 到 https。

最佳答案

server {
  listen  80;
  server_name  yourhttphost;
  rewrite ^ https://yourhttpshost$request_uri? permanent; #301 redirect
}
server {
  listen 443;
  server_name  yourhttpshost;
  ........
  the rest
  ........
}

在 nginx 配置中使用“if”是一个非常糟糕的主意!

关于Django + uwsgi + nginx + SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783268/

相关文章:

java - 关于 Django、Java、Python、HTML 和网站开发的总体问题

python - 如何进行 dotCloud pull ?

nginx - 将Nginx和uWSGI Web服务器错误记录到Sentry

python - uWSGI + 构建 Go .so 不工作

python-2.7 - Docker:uwsgi无法启动

python - 在 dotcloud 上构建 mysql-python 时遇到问题 : needs distribute >= 0. 6.28

javascript - 单个应用程序中的 Dotcloud www 和 TCP -

django - 获取与内联表单相关的外键字段名称

mysql - 表示数据库中的下拉列表值

javascript - JS静态文件的管理: code seems to be downloaded but do not work