ASP.NET Core SignalR CORS 跨域問題


將 SignalR 集成到 ASP.NET Core api 程序的時候,按照官方 DEMO 配置完成,本地訪問沒有問題,但是發布之后一直報跨域問題,本地是這樣設置的:

  原始代碼:

    services.AddCors(op => { op.AddPolicy("cors", set => { set.AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); }); });

  原因:

  出現該問題的原因是由於 CORS 策略設置不正確造成的,原始設置我是允許所有 Origin 來源。但是由於 dotnetCore 2.2 的限制,無法使用 AllowAnyOrigin() + AllowCredentials() 的組合,只能顯式指定 Origin 來源,或者通過下述方式來間接實現。

  解決問題:

  services.AddCors(op => { op.AddPolicy("cors", set => { set.SetIsOriginAllowed(origin => true) .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); }); });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM