Django的HttpResponseRedirect是http而不是https
|
我的服务器运行Django Gunicorn nginx. 我添加了SSL证书并配置了nginx以将http重定向到https.当收到https请求时,nginx将其作为http传递给Gunicorn. 我的程序有时返回HttpResponseRedirect,浏览器获得重定向响应并重新请求为http,因此nginx重定向到https. 我怎么能避免这个?如何配置服务器,以便第一个重定向直接指向https URL? 最佳答案 在nginx配置中(位置块内),指定:
proxy_redirect告诉nginx,如果后端返回HTTP重定向,它应该保持原样.默认情况下,nginx假设后端是愚蠢的,并试图变得聪明;如果后端返回一个称为“重定向到http://localhost:8000/somewhere”的HTTP重定向,则nginx将其替换为类似于http://yourowndomain.com/somewhere的内容.但Django并不是愚蠢的(或者它可以配置为不是愚蠢的). Django不知道请求是通过HTTPS还是普通HTTP发出的; nginx知道这一点,但随后它对Django后端的请求始终是纯HTTP.我们告诉nginx使用X-Forwarded-Proto HTTP头传递此信息,以便相关的Django功能(如request.is_secure())正常工作.您还需要在settings.py中设置SECURE_PROXY_SSL_HEADER =(‘HTTP_X_FORWARDED_PROTO’,’https’). (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- /etc/nginx/nginx.conf:76中的未知指令“ rtmp”
- 如何将此Nginx调试为uWSGI超时?
- Nginx Angular2/Angular路线
- nginx – Dokku:从应用程序收听多个端口
- 将nginx.conf添加到Kubernetes集群
- javascript – Laravel AngularJS CORS无效
- nginx – 来自POST的大量流量123.249.24.233/POST_ip_port.
- Nginx访问日志显示经过身份验证的用户“admin”
- Windows服务器下怎么安装与使用nginx
- 配置Nginx以使Angular 2快速入门与Browsersync一起使用
- NGINX:如何阻止访问某些目录中的所有文件
- nginx中的动态proxy_pass到Kubernetes中的另一个
- ruby-on-rails – 即使重新启动,我如何保持乘客独
- php – CodeIgniter的Nginx重写规则
- ruby-on-rails – rails – nginx puma – 静态资
- ruby-on-rails – Nginx代理https到非标准端口的
- Nginx将Http重定向到Https – 这里有什么问题?
- Nginx:SNI不适用于具有多个参数的server_name
- 通过https/SSL访问NGINX/PHP-FPM时速度极慢
- 如何在一个容器中使用Nginx,在另一个容器中使用p
