configurationnginx从上游代理应用程序传递redirect

我有nginx提供内部Django服务器的静态文件和代理请求。 这一切都工作正常,但我有一个视图返回302redirect回到引用页面,有效地做一个链接点击浏览器刷新。

当没有通过nginx服务,这是有效的,应用程序返回302位置标题设置为相同的页面,这是我想要的。 但是,当通过nginx服务时,它redirect回“/”。 看来不pipe我尝试什么,总是这样做。

我已经检查,Django收到请求引用标题,这是。 我已经尝试了proxy_redirect注释掉,设置为offdefault/ / 。 我不能使用后者,因为它剥离了我目前需要testing的端口号。

这是我的nginxconfiguration:

 upstream django { server unix:/run/waitress/django.sock; } server { listen 80 backlog=4096; server_name www.example.co.uk; charset utf-8; client_max_body_size 20M; root /var/www/static_public; location /media { sendfile on; sendfile_max_chunk 500k; tcp_nopush on; } location /static { sendfile on; sendfile_max_chunk 100k; tcp_nopush on; } # favicon redirect location ~ ^/[az][a-hj-z][az-]+\.(png|xml|ico|json|svg)$ { return 301 /static/site/img$request_uri; } location / { proxy_pass http://django/; #proxy_redirect what do I put here????; proxy_set_header Host $host; #proxy_set_header Referer $http_referer; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 

nginx传递Referer头部而不明确设置它。

虚惊!

事实certificate,我的django视图正在返回“/”redirect,由于我的testing设置,引用标头被视为is_safe_url :/

proxy_redirect off; 正在为我工​​作。