查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
安裝地端部署系統時,您可以完全控管虛擬主機,您可以建立 在任何環境中使用 TLS,都能為任何機構建立虛擬主機。
本文件說明如何建立簡易的虛擬主機。也就是沒有 。以取得更多範例 (包括建立支援 TLS 的虛擬主機的範例) 請參閱設定 TLS 使用私有雲的 API 存取權。
瞭解詳情:
關於主機別名
建立虛擬主機時,您必須指定虛擬主機的主機別名。 這通常是虛擬主機的 DNS 名稱。
Edge Router 會將傳入要求的 Host
標頭和
可用主機別名的清單,用於判定處理要求的 API Proxy。
透過虛擬主機提出要求時,請指定與主機相符的網域名稱
或指定路由器的 IP 位址,以及包含主機別名的 Host
標頭。
舉例來說,如果您建立了一個虛擬主機,主機別名為 通訊埠 9001 上的 myapis.apigee.net,然後對 API 提出 cURL 要求 該虛擬主機可以使用下列其中一種形式:
如有 myapis.apigee.net 的 DNS 項目:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
如果沒有 myapis.apigee.net 的 DNS 項目:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'
請在這份表單中指定路由器的 IP 位址,並將主機別名傳送至
Host
標頭。curl http://routerIP:9001/proxy-base-path/resource-path
使用時機 沒有虛擬主機的 DNS 項目
如果沒有 DNS 項目,其中一個選項是將主機別名設為 虛擬主機的路由器和通訊埠,例如 routerIP:port。例如:
192.168.1.31:9001
以下方格式建立 curl
指令時:
curl http://routerIP:9001/proxy-base-path/resource-path
建議您使用這個選項,因為此做法可與 Edge UI 搭配運作。
如果您有多個路由器,請為每個路由器新增主機別名,並指定以下項目的 IP 位址: 每個路由器和虛擬主機的通訊埠
或者,您也可以將主機別名設為值,例如:
temp.hostalias.com.接著,您必須為每個要求傳遞 Host
標頭:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'Host: temp.hostalias.com'
或在 /etc/hosts 檔案中新增主機別名。例如,將這一行 /etc/hosts:
192.168.1.31 temp.hostalias.com
接著,您可以像已有 DNS 項目一樣提出要求:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path
關於 Edge 上的虛擬主機通訊埠 私有雲 4.16.01 以上版本
建立虛擬主機時,您必須指定虛擬主機使用的路由器通訊埠。適用對象 例如通訊埠 9001
如果是適用於私有雲的 Apigee 4.16.01 以上版本,則路由器預設會以 使用者「apigee」無法存取具有特殊權限的通訊埠,通常是 1024 以下的通訊埠。如果 要建立將路由器繫結至受保護通訊埠的虛擬主機,然後 將路由器設為能夠以存取這些通訊埠的使用者身分執行。詳情請參閱「設定虛擬主機」。
建立虛擬主機
本節說明如何為 Private Cloud 適用的 Apigee Edge 建立虛擬主機。請注意,如要建立新的 虛擬主機,您必須是機構組織管理員。
您可以使用 API 或 Edge UI 為 Apigee Edge 私有雲建立虛擬主機。這些 。
使用瀏覽器建立虛擬主機
本節說明如何使用瀏覽器建立虛擬主機 (僅限 Edge UI)。
如何在 Edge UI 中建立新的虛擬主機:
- 登入 Edge Management UI。
- 依序選取「管理員」>虛擬主機。
從下拉式清單中選取環境。
Edge 會顯示該環境的虛擬主機清單。
- 如要建立新的虛擬主機,請選取「+ Virtual Host」。
邊緣會顯示「Create Virtual Host」表單。
你也可以按一下現有虛擬主機的名稱來進行編輯。
- 定義新的虛擬主機。請注意,「基準網址」欄位必須包含
通訊協定 (也就是在欄位值前面加上「http://」或「https://」)。
此外,請注意下列事項:
- 可建立的虛擬主機數量沒有上限
- 傳輸層安全標準 (TLS) 是選用項目,可能搭載 1.0、1.1 或 1.2 版。
- 可以設定虛擬主機的通訊埠
- 按一下「Create」(建立) 按鈕即可儲存新的虛擬主機。
使用 API 建立虛擬主機
如要透過 API 建立虛擬主機,請建立 XML 物件來定義 虛擬主機舉例來說,下列 XML 物件定義了使用 HTTP 通訊協定:
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>DNS_name_or_IP:port</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
請注意,虛擬主機包含 name
屬性。請使用
name
屬性來設定 API Proxy 使用虛擬主機。
接著,您可以提出要求,透過這個虛擬主機存取 API Proxy:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path
在此情況下:
http
或https
:如果虛擬主機設為 (支援 TLS,請使用 HTTPS)。如果虛擬主機不支援 TLS,請使用 HTTP。- routerIP:port 是虛擬主機的 IP 位址和通訊埠編號。
- proxy-base-path 和 resource-path 是在建立 並存取 API Proxy
一般來說,您不會使用 IP 位址和通訊埠編號向客戶發布 API。 而是要為路由器和通訊埠定義 DNS 項目。例如:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
如果您定義了 DNS 項目,就必須為虛擬主機建立「主機別名」
。主機別名必須與
用戶端會傳入 Host
標頭。
在上述範例中,您可以指定 api.myCompany.com
的主機別名。
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
如要建立使用 HTTP 通訊協定的虛擬主機,請執行下列步驟:
- 使用
建立
Virtual Host API,其中 ms-IP 是
Management Server 節點的 IP 位址或網域名稱:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- 為與主機別名相符的虛擬主機建立 DNS 記錄。
- 如果目前已有 API Proxy,請將虛擬主機新增至
<HTTPConnection>
元素 存取 Proxy 端點系統會自動將虛擬主機新增至所有新的 API Proxy。 詳情請參閱 設定 API Proxy 以使用虛擬主機。
修改虛擬主機
,瞭解如何調查及移除這項存取權。如要修改虛擬主機,請執行下列步驟:
-
使用 更新 Virtual Host API,其中
<ms-IP>
是 IP 位址 或網域名稱管理伺服器您必須指定 虛擬主機,而不只是您要變更的元素。在本 例如,將虛擬主機的通訊埠編號從 9008 變更為 9009:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password
-
僅適用於 Private Cloud 4.16.01 和 4.16.05 版的 Edge,請注意以下幾點:
現有的虛擬主機,且是在不變更通訊埠的情況下啟用 TLS 或停用 TLS
,然後:
停止路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
刪除
/opt/nginx/conf.d
中的所有檔案:rm -f /opt/nginx/conf.d/*
啟動路由器:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- 對所有路由器重複以上步驟。