IIS 的 CORS 設定

IIS 的 CORS 設定

說明在 IIS 設如何設定 CORS

內文

在 IIS 中,透過 web.config 直接設定 header ,針對 header 添加 Access-Control-Allow-Origin 此屬性即可,但是此種設定只能針對一組 Domain 設定,或是全開放;設定範例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<!-- 全部開放 -->
<!-- <add name="Access-Control-Allow-Origin" value="*" /> -->

<!-- 指定一個Domain -->
<add name="Access-Control-Allow-Origin" value="http://localhost:21259"/>
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>

另一種則是為 IIS 安裝 cors 模組,其設定變得更方便,官方文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true" failUnlistedOrigins="true">
<add origin="*" />
<add origin="https://*.microsoft.com"
allowCredentials="true"
maxAge="120">
<allowHeaders allowAllRequestedHeaders="true">
<add header="header1" />
<add header="header2" />
</allowHeaders>
<allowMethods>
<add method="DELETE" />
</allowMethods>
<exposeHeaders>
<add header="header1" />
<add header="header2" />
</exposeHeaders>
</add>
<add origin="http://*" allowed="false" />
</cors>
</system.webServer>
</configuration>

參考資料