我正在使用 .NET 8 开发 Blazor 应用程序,并且在尝试将请求从 Blazor WebAssembly 客户端发送到后端 API 时遇到了 CORS 问题。尽管如下所示在
Program.cs
中设置了 CORS,但我仍然在浏览器中收到 CORS 错误。应用程序正在使用 HTTPS,但 API 当前使用 HTTP,我怀疑这可能会导致“阻止加载混合活动内容”错误。
以下是我在
Program.cs
中配置 CORS 的方法:
builder.Services.AddCors(options =>
{
options.AddDefaultPolicy(
policy =>`
{
policy.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
var app = builder.Build();
app.UseCors();
// Other configurations follow...
当我尝试向 API 发送请求时,我在浏览器控制台中收到以下错误:
Blocked loading mixed active content “http://[api-url]”
我了解此错误是由于浏览器阻止来自安全来源的不安全请求造成的。但是,我不确定如何解决这个问题。有没有办法在开发模式下允许这些请求,或者我是否需要将我的 API 移至 HTTPS?
如果您就如何在这种情况下正确配置 CORS 或如何处理 Blazor 中的混合内容问题提供任何建议,我将不胜感激。
或者我需要将 API 移至 HTTPS
是的。您需要将 API 移至 HTTPS。