[英]Angular web app with asp.net web api hosted on AppHarbor displays wrong web page
[英]Angular 11 app hosted in IIS giving CORS issue when calling Asp.Net Web API
我們有以下設置
Angular 11 / TypeScript 應用程序:使用 SSL/TLS 證書 ( HTTPS ) 托管在 IIS 中,並使用 withCredentials 標頭將用戶憑據 (NTLM) 發送到后端 API。 同樣對於 CORS,我們正在傳遞標頭 'Access-Control-Allow-Origin' : '*'
Asp.Net Web API (.Net 6) :使用 Http.Sys(支持 NTLM)和使用HTTP自托管。 為了支持 CORS,我們使用這個
builder.Services.AddCors(options => options.AddDefaultPolicy(b => b.SetIsOriginAllowed(_ => true)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials()));
當 Angular 應用程序調用后端 API 時,它會收到與 CORS 相關的錯誤。
對預檢請求的響應未通過訪問控制檢查:預檢請求不允許重定向。
但是當我們在沒有 SSL/TLS 證書(即 HTTP)的情況下運行 Angular 應用程序時,它可以正常工作。
那么這個 CORS 問題是因為 Angular 應用程序是 HTTPS 而后端 API 是 HTTP 而發生的嗎? 如果是,那么我們該如何解決這個問題?
提前致謝。
那么這個 CORS 問題是因為 Angular 應用程序是 HTTPS 而后端 API 是 HTTP 而發生的嗎? 如果是,那么我們該如何解決這個問題?
TLS 與非 TLS 請求的不匹配會引發如下情況:
CORS 策略已阻止從源“https://example.com”獲取“https://another-site.com/”的訪問權限:請求中不存在“Access-Control-Allow-Origin”標頭資源。
您收到此錯誤是因為預檢 OPTIONS 請求被某種中間件路由重定向(我假設)。
您可以在此處閱讀有關如何配置 OPTIONS 預檢請求的信息。 有很多選擇取決於您的要求,所以我不會發布建議。
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0#preflight-requests
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.