繁体   English   中英

ASP.NET Core CORS 配置不适用于 Firefox

[英]ASP.NET Core CORS configuration not working for Firefox

我的 ASP.NET Core (dotnet SDK 3) 应用程序具有以下 CORS 配置。 我观察到此配置非常适合 Google Chrome(版本 76.0.3809.100 64 位)。 Mozilla Firefox Developer Edition(版本 69.0b14 64 位)的响应标头中缺少Access-Control-Allow-Origin 事实上,没有任何回应。 有什么解决办法吗?

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers()
        .AddNewtonsoftJson();

    services.AddCors();
}

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
        app.UseHsts();
    }

    app.UseCors(builder => 
        builder.AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
    );

    app.UseHttpsRedirection();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

我发现了问题,这是一个很奇怪的问题。 我正在阅读一个较旧的博客,其中谈到了CORS和ASP.NET Core。 然后我偶然发现了该评论该评论说该解决方案适用于Kestrel,但不适用于IIS Express。 因此,我将构建配置更改为不使用IIS Express,并且现在它对于两种浏览器都可以正常使用。 如果要使此方法适用于IIS Express,则不要编辑Startup.cs ,而是编辑application.config文件,该文件可能位于项目的根文件夹中。

对于通过配置两个独立服务器(一个用于 API,另一个用于“客户端”)来处理此问题的任何人:检查它们是否都启用或禁用了 SSL,当有来自 HTTP 的请求时,Firefox 会抛出 CORS 错误HTTPS,反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM