在 API 管理 開發人員入口網站中啟用互動式主控台的CORS
跨原點資源共用 (CORS) 是以 HTTP 標頭為基礎的機制,可讓伺服器指出除其本身原點以外的任何原點 (網域、配置或連接埠),瀏覽器應允許從這些原點載入資源。
若要讓 API 管理 開發人員入口網站的訪客使用 API 參考頁面中的互動式測試控制台,請在 API 管理 實例中啟用 API 的 CORS 原則。 如果開發人員入口網站的功能變數名稱不是跨網域 API 要求的允許來源,測試控制台使用者將會看到 CORS 錯誤。
在某些情況下,您可以將開發人員入口網站設定為 CORS Proxy,而不是啟用 API 的 CORS 原則。
適用於:開發人員 |基本 |標準 |進階版
必要條件
- 完成下列快速入門:建立 Azure API 管理執行個體
移至您的 API 管理執行個體
在 Azure 入口網站中,搜尋並選取 [API 管理服務]。
在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。
啟用 API 的 CORS 原則
您可以啟用設定,為 API 管理 實例中的所有 API 自動設定 CORS 原則。 您也可以手動設定 CORS 原則。
注意
只會執行一個 CORS 原則。 如果您指定多個 CORS 原則(例如,在 API 層級和所有 API 層級上),您的互動式控制台可能無法如預期般運作。
自動啟用 CORS 原則
- 在 API 管理執行個體的左側功能表中,於 [開發人員入口網站] 底下,選取 [入口網站概觀]。
- 在 [啟用 CORS] 下,會顯示 CORS 原則設定的狀態。 警告方塊表示原則不存在或設定錯誤。
- 若要從開發人員入口網站啟用所有 API 的 CORS,請選取 [ 啟用 CORS]。
手動啟用 CORS 原則
- 選取 [在全域層級上手動套用] 連結,以查看產生的原則程式碼。
- 流覽至 API 管理 實例之 [API] 區段中的所有 API。
- 在 [輸入處理] 區段中,按一下 </> 圖示。
- 在原則編輯器中,將原則 <插入 XML 檔案的輸入> 區段中。 確定 <原始> 值符合開發人員入口網站的網域。
注意
若您是在產品範圍中套用 CORS 原則,而不是 API 範圍,且 API 透過標頭使用訂用帳戶金鑰驗證,則主控台將無法運作。
瀏覽器會自動發出 OPTIONS
HTTP 要求,其中不含具有訂用帳戶金鑰的標頭。 由於缺少訂用帳戶金鑰,API 管理無法建立 OPTIONS
呼叫與產品的關聯,因此無法套用 CORS 原則。
因應措施是,您可以在查詢參數中傳遞訂用帳戶密鑰。
CORS Proxy 選項
在某些情況下(例如,如果 API 管理 閘道是網路隔離的),您可以選擇將開發人員入口網站設定為 CORS Proxy 本身,而不是為您的 API 啟用 CORS 原則。 CORS Proxy 會透過入口網站的後端,在您的 API 管理 實例中路由傳送互動式控制台的 API 呼叫。
注意
如果 API 是透過自我裝載閘道公開,或您的服務位於虛擬網路中,則需要從 API 管理 開發人員入口網站的後端服務連線到閘道。
若要設定 CORS Proxy,請以系統管理員身分存取開發人員入口網站:
- 在 API 管理 實例的 [概觀] 頁面上,選取 [開發人員入口網站]。 開發人員入口網站會在新的瀏覽器索引標籤中開啟。
- 在系統管理介面的左側功能表中,選取 [頁面>API>詳細數據]。
- 在 [ API:詳細 數據] 頁面上,選取 [ 作業:詳細 數據] 小工具,然後選取 [ 編輯小工具]。
- 選取 [ 使用 CORS Proxy]。
- 儲存對入口網站的變更,然後 重新發佈入口網站。
自我裝載開發人員入口網站的CORS設定
如果您 自行載入 開發人員入口網站,則需要下列設定才能啟用 CORS:
使用
backendUrl
組態檔中的 選項指定入口網站的後端端點。 否則,自我裝載入口網站不會察覺後端服務的位置。將 Origin 網域值新增至自我裝載入口網站組態,以指定裝載自我裝載入口網站的環境。 深入了解