Have you tried configuring the middleware with ForwardedHeadersOptions to forward the X-Forwarded-For and X-Forwarded-Proto headers in Startup.ConfigureServices? Forwarded Headers Middleware isn't enabled by default.
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders =
ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
});
Then add app.UseForwardedHeaders(); to Startup.Configure
For information about persisting state across circuits, check out this link: https://docs.microsoft.com/en-us/aspnet/core/blazor/state-management?view=aspnetcore-3.1&pivots=server#blazor-circuits