CORS问题:AWS S3和Cloudfront上的Angular 5和IIS10 EC 2 Windows Server 2019上的.net核心webapi

问题描述 投票:0回答:2

我通过浏览器(chrome / Edge / Firefox / Opera)访问Angular应用时遇到以下错误。 API请求可以很好地通过邮递员/提琴手进行直接调用。

因此,我认为Cloudfront与EC2呼叫和CORS策略之间有一些区别

enter image description here

enter image description here

以下是我的设置。

Angulr Setup:]

  • 具有公共访问策略的S3存储桶
  • 带有行为白名单标头的Cloudfront

enter image description here

。netcore Web API设置:

  • 带有Windows Server 2019的EC 2实例
  • IIS 10网站带有以下httpresponse标头,已添加SSL实施enter image description here
  • 根据需要,我在.net核心应用程序中添加了CORS策略,如下所示:>
    services.AddCors(options =>
            {
                options.AddPolicy("EnableCORS", builder =>
                {
                    builder.AllowAnyOrigin()
                        .AllowAnyHeader()
                        .AllowAnyMethod()
                        .AllowCredentials();
                });
            });

添加的CORS中间件

     app.UseCors("EnableCORS");

已在APi控制器

上添加了必需的注释”>
     [EnableCors("EnableCORS")]

不确定在此设置中我缺少什么。

我通过浏览器(chrome / Edge / Firefox / Opera)访问Angular应用时遇到以下错误。 API请求可以很好地通过Postman / Fiddler直接调用。所以我认为有一些...

asp.net-core amazon-s3 cors angular5 amazon-cloudfront
2个回答
1
投票

看来您的api已配置为发送CORS标头。

但是您的API似乎没有配置为处理HTTP OPTIONS动词请求。浏览器通过发送OPTIONS请求来发送prelight请求。


0
投票

最后,我对.netcore代码和IIS中的CORS设置进行了少许更改。以下是更改。

© www.soinside.com 2019 - 2024. All rights reserved.