Internal
Public Access
Since Nginx Proxy Manager handles SSL termination, Force SSL, and HSTS: - Set SECURE_HSTS_SECONDS = 0 (NPM sends HSTS headers) - Added SECURE_PROXY_SSL_HEADER to trust X-Forwarded-Proto from NPM - Added SESSION_COOKIE_HTTPONLY for additional session security - Documented NPM configuration: Force SSL = On, HSTS Enabled = On This prevents duplicate HSTS headers and ensures Django correctly detects HTTPS connections behind the reverse proxy. Cookie security (SESSION/CSRF_COOKIE_SECURE) remains enabled as these are application-level settings independent of the reverse proxy. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>