前言
前後端分離寫久了,總會遇到那個熟悉的紅字:
Access to fetch at 'https://api.example.com' from origin 'https://www.example.com'
has been blocked by CORS policy.
前端工程師看到這行,第一反應通常是轉頭問後端:「你 CORS 開了沒?」
後端工程師則是一臉無辜:「我本機明明可以啊。」
問題就在這裡——CORS 是瀏覽器的安全機制,本機用 Postman、Swagger 打都不會擋,
只有真的從另一個網域用瀏覽器發請求才會觸發。所以「我本機可以」這句話在 CORS 面前完全沒有意義。
這篇就把 ASP.NET Core 的 CORS 設定一次講清楚,並把它封裝成一個擴充方法,
搭配設定檔的允許清單,讓 Program.cs 只剩乾淨的一行。
2026/6/28大約 5 分鐘