Ant*_*des 10
在nginx配置中(在location块内),指定:
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
Run Code Online (Sandbox Code Playgroud)
该proxy_redirect告诉nginx的是,如果后端返回一个HTTP重定向,它应该保留原样.默认情况下,nginx假设后端是愚蠢的并且试图变得聪明; 如果后端返回一个HTTP重定向,表示"重定向到http:// localhost:8000/somewhere ",nginx将其替换为与http://yourowndomain.com/somewhere类似的内容.但Django并不愚蠢(或者它可以配置为不是傻瓜).
Django不知道请求是通过HTTPS还是普通HTTP发出的; nginx知道这一点,但随后它对Django后端的请求总是纯HTTP.我们告诉nginx使用X-Forwarded-ProtoHTTP头传递此信息,以便相关的Django功能request.is_secure()正常工作.你还需要设置SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')你的settings.py.
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |