繁体   English   中英

从本地主机连接到服务器 API 时升级到 DotNet 3.1 后的 CORS 问题

[英]CORS issue after upgrading to DotNet 3.1 while connecting from localhost to server API

当我尝试从本地系统连接到托管在 IIS 上的 API(DotNet Core 3.1)时,在浏览器中将项目迁移到 DotNet Core 3.1 后出现以下错误 - localhost:4200

CORS 政策阻止了在“https://dev.ncop.firstam.net/multisiteservice/api/v1/test/method”处访问 XMLHttpRequest 来自“http://localhost:4200”:对预检请求的响应没有't pass access control check: 请求的资源上不存在'Access-Control-Allow-Origin'标头。

这是我的 startup.cs 中的 CORS 代码片段

    public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                var allowedOrigin = Configuration["AppSettings:CorsAllowedOrigin"];
                {
                    options.AddPolicy("SiteCorsPolicy",
                    builder => builder.AllowAnyOrigin()
                    .WithOrigins(allowedOrigin)
                    .AllowAnyMethod()
                    .AllowCredentials()
                    .AllowAnyHeader());
                }
            });
    }
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
            {
app.UseCors("SiteCorsPolicy");
            app.UseAuthentication();
            app.UseMvc();
            //Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();
    }

这是我的 AppsettingsFile:

 "AppSettings": {
    "CorsAllowedOrigin": "http://localhost:4200/,https://dev.ncop.fistam.com/,https://staging.ncop.fistam.com/,https://ncop.fistam.com,http://azuvnintfint551.fastts.firstam.net,https://staging.webservices.firstam.net
  }

如何从本地系统连接到服务器 API? 我错过了什么。 尝试连接到 API 的 UI 应用程序是基于 Angular 5 构建的

根据文档

URL 不得包含尾部斜杠 (/)。 如果 URL 以 / 结尾,则比较返回 false 并且不返回标头。

AppSettings域不应包含尾部正斜杠 ( / )。

你能用这个试试吗:

 "AppSettings": {
    "CorsAllowedOrigin": "http://localhost:4200,https://dev.ncop.fistam.com,https://staging.ncop.fistam.com,https://ncop.fistam.com,http://azuvnintfint551.fastts.firstam.net,https://staging.webservices.firstam.net
  }

暂无
暂无

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

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