ASP.NET Core HTTPS Redirect Loop: Root Cause and Fix