【C#】Access to XMLHttpRequest at ‘http://localhost:xxxx/api/Test’ from origin ‘http://localhost:yyyy’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. エラーが出てきたときの対処

Sponsored Links

Visual StudioのSolution内にウェブアプリ(REACT使用)とWeb Apiのプロジェクトを作成し、ウェブアプリからWeb Apiへアクセス(Get/Post)した際に出力されたエラー。

EdgeのConsoleに出力されたエラー

原因は割愛(よく理解できていない。。。)、対応方法の一つとしてはWeb Api側のWeb.Configに下記を追加することで、解決できた。
デフォルトでは、どうも異なるドメインからのアクセスを制限しているようで、これを書くことで、どこからでもアクセスできるようになる らしい。
この制御がデフォルトであることなので、どこからでもアクセスOKであれば、問題ないのかもしれないが、Securityとしてはどうなのか? は疑問に残る。

  <system.webServer>タグ配下に下記を追加
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
      </customHeaders>
    </httpProtocol>

IT
Sponsored Links
Sponsored Links
Sponsored Links
ようさんチョットでぶ
Copied title and URL
Bitnami