我正在寻找一种无需使用https即可将用户登录到Blazor服务器端应用程序的方法。在生产中,该应用程序在反向代理后面运行,它将处理安全性。
使用默认的Blazor App进行身份验证并通过https访问它时,一切都很好,我可以登录。
但是当我从启动中删除app.UseHsts();
和app.UseHttpsRedirection();
并使用http访问该应用程序时,我无法登录。没有错误消息,我只是重定向到起始页。
如何通过http登录工作?
答案 0 :(得分:0)
您可能要使用ForwardedHeaders
。他们告诉应用程序客户端的IP和协议是什么
将此添加到Configure
方法
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
如果您的代理不在localhost
上运行,则还必须配置其IP地址
services.Configure<ForwardedHeadersOptions>(options =>
{
options.KnownProxies.Add(IPAddress.Parse("127.0.10.1"));
});