Private Cloud v4.18.05 專用 Edge
Edge 上的虛擬主機會定義 API Proxy 公開的網域和 Edge Router 連接埠,並透過擴充功能定義應用程式用來存取 API Proxy 的網址。虛擬主機也會定義是否要使用 HTTP 通訊協定或加密的 HTTPS 通訊協定存取 API Proxy。
做為 Edge 新手上路流程的一部分,您必須建立機構、環境和
虛擬主機Edge 提供 setup-org
指令,讓新使用者更輕鬆地完成這項程序。
建立虛擬主機時,必須指定下列資訊:
- 您在 API 中用來參照虛擬主機的名稱 Proxy 執行要求。
- 虛擬主機在路由器上的通訊埠。一般需要這些通訊埠 從 9001 開始,並針對每個新的虛擬主機遞增一個。
- 虛擬主機的主機別名。一般來說,叢集的 DNS 名稱 虛擬主機
舉例來說,在傳遞至 setup-org
指令的設定檔中,您可以指定
將這些資訊轉換為:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Edge Router 會比較 Host
將傳入要求傳送至可用主機別名清單,以判定 API Proxy 可
來處理要求。透過虛擬主機提出要求時,請指定與虛擬主機主機別名相符的網域名稱,或是指定 Router 的 IP 位址和包含主機別名的 Host
標頭。
舉例來說,如果您建立了虛擬主機,其主機別名為 myapis.apigee.net 9001,那麼透過該虛擬主機向 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
標頭中傳遞主機別名。
沒有 DNS 時的選項 虛擬主機項目
如果沒有 DNS 項目,其中一個選項是將主機別名設為 虛擬主機的路由器和通訊埠,例如 routerIP:port。例如:
VHOST_ALIAS=192.168.1.31:9001
接著,請在下列表單中建立 curl 指令:
curl http://routerIP:9001/proxy-base-path/resource-path
建議您使用這個選項,因為此做法可與 Edge UI 搭配運作。
如果您有多個路由器,請為每個路由器新增主機別名,並指定以下項目的 IP 位址: 每個路由器和虛擬主機的通訊埠:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
或者,您也可以將主機別名設為特定值,例如 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