
The reason is that in the default configuration nginx is only serving 'http' traffic. So if an upstream proxy sets the 'X-Forwarded-Proto' header, because it is terminating TLS, then nginx will overwrite it to 'http'. This will cause django to think the page is served via 'http' and it will not create 'https://...' URLs. Related to #292