【问题标题】:CORS issue from local system to VM从本地系统到 VM 的 CORS 问题
【发布时间】:2018-12-03 22:35:16
【问题描述】:

我在 VM 中托管了应用程序。一切都在 VM 上,包括 UI、数据库和 Web 服务。当我在 VM 上运行应用程序时,它正在工作,此外,当我尝试从本地系统访问应用程序时,它正在加载页面,但在从后端 Web 服务检索数据时失败。

后端服务在 .Net Core

我已经在 Startup.cs 文件中提供了 cors 设置

代码

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddCors(options => options.AddPolicy("AllowAll", p => p.AllowAnyOrigin()
                                                             .AllowAnyMethod()
                                                              .AllowAnyHeader()));

        }

  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            app.UseCors("AllowAll");
            app.UseMvc();
        }

请帮忙。

【问题讨论】:

  • 你能把你用来启用cors的代码放上来吗?
  • @AliK 更新了代码
  • 我找不到任何问题似乎是对的,我过去遇到的一件事是只有当我的 webapi 传递一些非标准的客户标头时。您是否还检查过 fiddler 以查看 api 请求和响应?
  • 我检查了 fiddler,它显示以下消息 [Fiddler] The connection to 'localhost' failed。
    错误:ConnectionRefused (0x274d)。
    System.Net.Sockets.SocketException 由于目标机器主动拒绝,无法建立连接 [::1]:51550
  • 您评论中引用的错误消息不是 CORS 错误,与您的 CORS 配置无关。服务器拒绝连接。 CORS 配置永远不会导致服务器拒绝连接;相反,它会导致服务器只发回额外的响应头。

标签: asp.net-core .net-core asp.net-core-webapi


【解决方案1】:

你可以试试AllowAllOrigins 而不是AllowAll

services.AddCors(options =>
{
    options.AddPolicy("AllowAllOrigins",
        builder => builder
        .AllowAnyOrigin()
        .AllowAnyMethod()
        .AllowAnyHeader()
        .AllowCredentials());
});

app.UseCors("AllowAllOrigins");

据我所知,https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.1 没有AllowAll

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 2012-01-06
    • 2018-07-09
    • 1970-01-01
    • 2020-08-01
    • 2012-05-30
    • 2016-06-17
    • 2022-10-05
    • 1970-01-01
    相关资源
    最近更新 更多