您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
您可以指定一個 Proxy 是另一個 Proxy 的目標端點,以有效連接 Proxy 鏈結中的兩個 Proxy。以這種方式鏈結 Proxy 可協助您避免網路躍點,進而改善整體效能。
使用 Proxy 鏈結時,您可以指定其中一個 Proxy 是另一個 Proxy 的本機目標端點。您可以不使用 HTTPTargetConnection
元素呼叫第二個 Proxy,而是使用 LocalTargetConnection
元素。
<LocalTargetConnection> <APIProxy>myproxy2</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection>
當您的 Proxy 提供部分獨立的低階功能,其他 Proxy 會使用時,Proxy 鏈結可能會很有用。舉例來說,針對後端資料儲存區公開建立/讀取/更新/刪除作業的 Proxy,可能會是多個向用戶端公開資料的其他 Proxy 的目標 Proxy。
影片:請觀看短片,進一步瞭解 API Proxy 鏈結。
Proxy 鏈結的運作方式
當呼叫另一個 Proxy 時,Proxy 鏈結會使用本機連線,將網路負擔降至最低。這個本機連線會略過負載平衡器、路由器和訊息處理器等網路功能,因此更有效率。
以下範例說明使用 HTTPTargetConnection
和 LocalTargetConnection
(Proxy 鏈結) 連線 Proxy 之間的差異:
如要連結 Proxy,只要將 Proxy 指定為另一個本機目標端點即可。您可以透過下列兩種方式在 Proxy 之間建立本機連線:
- 指定目標 Proxy 的名稱和
ProxyEndpoint
名稱 - 指定目標 Proxy 端點的路徑
您可以在 TargetEndpoint
設定中使用 LocalTargetConnection
元素連結目標 Proxy,如下所述。
依 Proxy 名稱連結 Proxy
您可以依名稱指定目標 Proxy。當您從一開始就建立連線,並一起開發 Proxy 時,可能會覺得這項功能最實用。如果您不知道名稱 (或名稱可能會改變),請考慮連線至目標 Proxy 的端點路徑,如下所述。
依名稱連線至目標 Proxy 時,您必須指定 Proxy 的名稱及其 ProxyEndpoint
的名稱。
以下範例指定名為 data-manager
的目標 Proxy,以及由 data-manager
公開的 ProxyEndpoint
名稱。如需參考資訊,請參閱 API Proxy 設定參考資料。
<TargetEndpoint name="datamanager"> <PreFlow name="PreFlow"> <!-- PreFlow policies --> </PreFlow> <PostFlow name="PostFlow"> <!-- PostFlow policies --> </PostFlow> <LocalTargetConnection> <APIProxy>data-manager</APIProxy> <ProxyEndpoint>default</ProxyEndpoint> </LocalTargetConnection> </TargetEndpoint>
透過路徑連結 Proxy
您可以透過端點路徑指定目標 Proxy。若您不知道 Proxy 名稱,或是名稱可能有所變更,建議您以這種方式使用。
如果 Proxy 只是目標 Proxy 的取用端 (例如非同時開發),路徑或許是最可靠的連線方式。舉例來說,如果您要連線的 Proxy 是由其他團隊開發及維護,您可能會想使用可靠的端點路徑進行連線。
以下範例會在 /v1/streetcarts/foodcarts/data-manager
中指定目標 Proxy,其中主機會假設主機與目前的 Proxy 相同。如需參考資訊,請參閱 API Proxy 設定參考資料。
<TargetEndpoint name="datamanager"> <PreFlow name="PreFlow"> <!-- PreFlow policies --> </PreFlow> <PostFlow name="PostFlow"> <!-- PostFlow policies --> </PostFlow> <LocalTargetConnection> <Path>/v1/streetcarts/foodcarts/data-manager</Path> </LocalTargetConnection> </TargetEndpoint>
將 Proxy 與管理控制台連結
您可以使用 Edge 管理控制台建立 Proxy 鏈結連線。
- 開啟即將使用目標 Proxy 的 Proxy。
- 在「Navigator」中,按一下「Target Endpoints」旁的加號。
- 在「New Target Endpoint」對話方塊中,輸入目標端點的名稱。
- 在「目標端點名稱」方塊下方,選取下列其中一個選項:
-
Proxy 鏈結:從機構和環境中現有的 Proxy 清單中選取。
- 在「Proxy Name」下拉式選單中,選取目標 Proxy。
- 在「Proxy 端點」方塊中,輸入要連線的目標 Proxy 端點路徑。
- 路徑鏈結:輸入目標 Proxy 基本路徑,例如
/mypath/myproxy/myendpoint
。
-
Proxy 鏈結:從機構和環境中現有的 Proxy 清單中選取。
- 按一下 [新增]。
鏈結 Proxy、API 產品和安全性
如果兩個 Proxy 位於同一個 API 產品,則最適合使用 Proxy 鏈結。根據預設,用戶端可以使用兩者。Apigee 目前不支援在用戶端不應存取的獨立 API 產品中繫結第二個 Proxy。
如果您的第二個 Proxy 必須受到直接用戶端要求保護,請考慮加入邏輯,讓第二個 Proxy 檢查用戶端的 IP 位址。如果是透過鏈結發出的呼叫,IP 位址會是本機。您的程式碼可用來驗證本機環境,然後允許處理作業繼續。如有需要,請參閱存取權控管政策。