えむにわリソース

ITのスキマ的なあれこれを書きます。

AzureでCROSとカスタムヘッダを併用する場合の注意

API AppsのCORS設定機能は、カジュアルにアクセス元サイトを指定できて便利ですが、

f:id:m2wasabi:20161130123126j:plain

portalで設定できるCORSを使うと、アプリケーションからのhttpヘッダの変更ができなくなります。
Web.configやアプリケーションからヘッダを触りたい場合は、
Azure portalのCORS設定には何も書かずに自分でヘッダを書きましょう。

<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD, OPTIONS" />
        <add name="Access-Control-Allow-Credentials" value="true"/>
        <add name="Access-Control-Allow-Headers" value="X-Requested-With, origin, content-type, accept" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

参考:
CORS support in App Service | Microsoft Docs