diff --git a/k8s/settings_local.py b/k8s/settings_local.py index 6f0956d065..33ac4f1e38 100644 --- a/k8s/settings_local.py +++ b/k8s/settings_local.py @@ -17,6 +17,13 @@ def _multiline_to_list(s): # Default to "development". Production _must_ set DATATRACKER_SERVER_MODE="production" in the env! SERVER_MODE = os.environ.get("DATATRACKER_SERVER_MODE", "development") +# Use X-Forwarded-Proto to determine request.is_secure(). This relies on CloudFlare overwriting the +# value of the header if an incoming request sets it, which it does: +# https://developers.cloudflare.com/fundamentals/reference/http-request-headers/#x-forwarded-proto +# See also, especially the warnings: +# https://docs.djangoproject.com/en/dev/ref/settings/#secure-proxy-ssl-header +SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https") + # Secrets _SECRET_KEY = os.environ.get("DATATRACKER_DJANGO_SECRET_KEY", None) if _SECRET_KEY is not None: