設定虛擬主機

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 可 來處理要求。透過虛擬主機提出要求時,請指定網域名稱 或是指定路由器的 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