設定 Azure Container Apps 的跨原始來源資源分享 (CORS)
根據預設,透過瀏覽器對不符合頁面原始網域之網域的要求會遭到封鎖。 若要避免部署至 Container Apps 的服務有此限制,您可以啟用 CORS 。
本文說明如何在容器應用程式中啟用和設定 CORS。
啟用 CORS 時,您可以設定下列設定:
設定 | 說明 |
---|---|
允許認證 | 指出是否要傳回 Access-Control-Allow-Credentials 標頭。 |
最大存留期 | 設定 Access-Control-Max-Age 回應標頭,以指出可快取 CORS 正式發行前小眾測試前要求的結果長度(以秒為單位)。 |
允許的原始來源 | 允許跨原始來源要求的來源清單(例如 , https://www.contoso.com 。 Access-Control-Allow-Origin 控制回應標頭。 使用 * 來允許所有專案。 |
允許的方法 | 跨原始來源要求中允許的 HTTP 要求方法清單。 Access-Control-Allow-Methods 控制回應標頭。 使用 * 來允許所有專案。 |
允許的標題 | 跨原始來源要求中允許的標頭清單。 Access-Control-Allow-Headers 控制回應標頭。 使用 * 來允許所有專案。 |
公開標頭 | 根據預設,並非所有回應標頭都會在跨原始來源要求中公開給用戶端 JavaScript 程式碼。 公開的標頭是額外的標頭伺服器可以包含在回應中。 Access-Control-Expose-Headers 控制回應標頭。 使用 * 來公開全部。 |
屬性 | 說明 | 類型 |
---|---|---|
allowCredentials |
指出是否要傳回 Access-Control-Allow-Credentials 標頭。 |
boolean |
maxAge |
設定 Access-Control-Max-Age 回應標頭,以指出可快取 CORS 正式發行前小眾測試前要求的結果長度(以秒為單位)。 |
整數 |
allowedOrigins |
允許跨原始來源要求的來源清單(例如 , https://www.contoso.com 。 Access-Control-Allow-Origin 控制回應標頭。 使用 * 來允許所有專案。 |
字串陣列 |
allowedMethods |
跨原始來源要求中允許的 HTTP 要求方法清單。 Access-Control-Allow-Methods 控制回應標頭。 使用 * 來允許所有專案。 |
字串陣列 |
allowedHeaders |
跨原始來源要求中允許的標頭清單。 Access-Control-Allow-Headers 控制回應標頭。 使用 * 來允許所有專案。 |
字串陣列 |
exposeHeaders |
根據預設,並非所有回應標頭都會在跨原始來源要求中公開給用戶端 JavaScript 程式碼。 公開的標頭是額外的標頭伺服器可以包含在回應中。 Access-Control-Expose-Headers 控制回應標頭。 使用 * 來公開全部。 |
字串陣列 |
如需詳細資訊,請參閱來自擷取要求 之有效 HTTP 回應的 Web 超文字應用程式技術工作組 (WHATWG) 參考。
啟用和設定 CORS
移至Azure 入口網站中的容器應用程式。
在 [設定] 功能表下,選取 [CORS ]。
啟用 CORS 後,您可以新增、編輯和刪除 [允許的來源 ]、[允許的方法 ]、 [允許的標頭 ] 和 [公開標頭] 的值 。
若要允許方法、標頭或原始來源的任何可接受的值,請輸入 *
作為值。
注意
透過命令列更新組態設定會覆寫目前的設定。 請務必將目前的設定併入您想要設定的任何新 CORS 值,以確保您的組態保持一致。
下列程式碼代表您在設定容器應用程式時,CORS 設定採用于 ARM 範本中的表單。
{
...
"properties": {
...
"configuration": {
...
"ingress": {
...
"corsPolicy": {
"allowCredentials": true,
"maxAge": 5000,
"allowedOrigins": ["https://example.com"],
"allowedMethods": ["GET","POST"],
"allowedHeaders": [],
"exposeHeaders": []
}
}
}
}
}