我们有以下设置
角11 / TypeScript应用程序:托管于IIS /TLS证书(HTTPS),并使用withCredentials报头向后端API发送用户凭据(NTLM)。此外,对于CORS,我们将传递标题“访问-控制-允许-原产地”:“*”
Asp.Net Web (.Net 6):使用Http.Sys (用于支持NTLM)和使用HTTP进行自我托管。为了支持CORS,我们使用以下方法
builder.Services.AddCors(options => options.AddDefaultPolicy(b => b.SetIsOriginAllowed(_ => true)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()));当角应用程序调用后端API时,它将得到与CORS相关的错误。
对飞行前请求的响应不通过访问控制检查:飞行前请求不允许重定向。
但是,当我们在没有SSL/TLS证书(即HTTP )的情况下运行角应用程序时,它就可以正常工作了。
所以这个CORS问题,是因为happening是HTTPS而后端API是HTTP吗?如果是,我们又如何解决这个问题呢?
提前谢谢。
发布于 2022-05-17 04:45:04
,所以这个CORS问题,是因为角应用程序是HTTPS,后端API是HTTP吗?如果是,我们又如何解决这个问题呢?
TLS与非TLS请求的不匹配抛出如下所示:
访问从源“https://another-site.com/”获取'https://example.com‘已被CORS策略阻止:请求的资源上没有“访问控制-允许-原产地”标题。
您会得到此错误,因为飞行前选项请求正被某种中间件路由重定向(我猜想)。
您可以在这里阅读如何配置选项、飞行前请求。有很多选择取决于您的需求,所以我不会发表建议。
https://learn.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0#preflight-requests
https://stackoverflow.com/questions/72267053
复制相似问题