虛擬主機屬性參考資料

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

虛擬主機表示法

用於定義虛擬主機的 XML 物件取決於您的 Edge 版本:Cloud 或私有雲

如果您是 Private Cloud 客戶,請務必為 您的 Edge 版本

雲端與私有雲 4.17.01 以上版本

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <BaseUrl>http://myCo.com</BaseUrl>
    <OCSPStapling>offOn</OCSPStapling>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    </Interfaces>
    <RetryOptions>
        <RetryOption>option</RetryOption>
    </RetryOptions>
    <ListenOptions>
        <ListenOption>option</ListenOption>
    </ListenOptions>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
    <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
    <PropagateTLSInformation>
        <!-- PropagateTLSInformation is Alpha in the Cloud only -->
        <ConnectionProperties>trueFalse</ConnectionProperties>
        <ClientProperties>trueFalse</ClientProperties>
    </PropagateTLSInformation>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <!-- ssl_protocols is Private Cloud only -->
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

私有雲 4.16.01 至 4.16.09

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

私有雲 4.15.07 與 較早

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>keystore</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>truststore</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
        <Ciphers>
             <Cipher>cipher</Cipher>
             <Cipher>cipher</Cipher>
         </Ciphers>
         <Protocols>
             <Protocol>protocol</Protocol>
             <Protocol>protocol</Protocol>
         </Protocols>
    </SSLInfo>
</VirtualHost>

虛擬主機設定屬性

下表列出用於設定虛擬主機的屬性:

屬性 說明 預設 必填
VirtualHost

指定虛擬主機的名稱,您可以使用這個名稱來指稱虛擬主機 即可選擇 Cloud CDN

名稱屬性中可使用的字元僅限:A-Z0-9._\-$%。

通訊埠

指定虛擬主機使用的通訊埠號碼。確認通訊埠在 Edge Router。

如果您在 hostalias 元素中指定通訊埠,就是通訊埠編號 指定的 <Port> 必須相符。

雲端:建立虛擬主機時,您必須指定通訊埠 443。如果 ,通訊埠預設為 443。如果現有的虛擬主機 443 以外的通訊埠,就無法變更通訊埠。

私有雲 4.16.01 至 4.17.05 版:建立私人雲端時, 虛擬主機時,您必須指定虛擬主機使用的路由器通訊埠。例如通訊埠 9001。根據預設,路由器會以使用者「 Apigee」的身分執行所以無法存取 特殊權限的通訊埠,通常為 1024 以下的通訊埠。如要建立虛擬主機 將路由器繫結至受保護的通訊埠,那麼您必須設定路由器,使其以 要求存取這些通訊埠詳情請見 為不同機構的使用者設定虛擬主機 內容。

4.16.01 以下版本的私有雲:路由器可以監聽 每個位於特定通訊埠、具備指定憑證的虛擬主機只能有一個 HTTPS 連線。 因此,如果傳輸層安全標準 (TLS) 終止作業,多個虛擬主機無法使用相同的通訊埠號碼 發生於路由器的指定通訊埠

BaseUrl 針對部署至虛擬的 API Proxy,覆寫 Edge UI 顯示的網址 主機。在 Edge Router 前方設有外部負載平衡器時,這個位址就相當實用。詳情請見 設定 TLS 使用私有雲的 API 存取權

BaseUrl 的值必須包含通訊協定 (即「http://」或 「https://」)。

OCSPStapling

OCSP (線上憑證狀態通訊協定) 用戶端傳送狀態 要求 OCSP 回應程式,用於判斷 TLS 憑證是否有效。回應 會指出 TLS 憑證是否有效,而且未撤銷。

啟用後,OCSP stapling 允許使用 Edge,做為單向傳輸層安全標準 (TLS) 的 TLS 伺服器。 直接查詢 OCSP 回應程式,然後快取回應。 接著,Edge 會在 TLS 握手程序中,將這個回應傳回至 TLS 用戶端 (或「補充」)。 請參閱在伺服器上啟用 OCSP Stapling 瞭解詳情。

必須啟用 TLS 才能啟用 OCSP 壓縮功能。如要啟用,請設為 on。 預設值為 off

關閉
HostAliases
HostAlias

路由器上虛擬主機的公開顯示 DNS 名稱,可選擇加入 通訊埠編號。虛擬主機的主機名稱名稱和通訊埠號碼的組合必須 Edge 安裝項目中的所有虛擬主機均不得重複。也就是說 如果主機使用不同的主機別名,就可以使用相同的通訊埠號碼。

您必須建立與主機別名和主機相符的 DNS 項目與 CNAME 記錄 別名必須與用戶端在 Host 標頭中傳遞的字串相符。

HostAlias 中的通訊埠號碼是選填項目。如果指定 通訊埠做為主機別名的一部分,您也必須使用 <Port> 元素。或者,您也可以指定兩個 HostAlias 元素。 一個只有通訊埠號碼的一組,另一個則沒有

可以有多個 HostAlias 定義 在同一個虛擬主機定義中,對應於多個 DNS 項目 虛擬主機,但不適用於多個通訊埠如要使用多個通訊埠,請建立多個通訊埠 具有不同通訊埠的虛擬主機定義

您可以在檔案中加入「*」萬用字元。"*"萬用字元可以 只能位於主機別名的開頭 (前面的第一個「.」),不能與其他字元混用。 例如 *.example.com。虛擬主機的 TLS 憑證必須具有 憑證的 CN 名稱中使用萬用字元比對。例如 *.example.com。 在虛擬主機別名中使用萬用字元可讓您 API Proxy 能夠處理傳送至多個子網域的呼叫,例如 alpha.example.combeta.example.comlive.example.com。使用萬用字元別名也有助於減少使用虛擬 IP 每個環境的主機,可保留在產品中 限制,因為使用萬用字元的虛擬主機只會計為一個虛擬主機。

雲端:如果您現有的虛擬主機使用另一個通訊埠 而無法新增或移除主機別名。

私有雲:如果您要使用 IP 位址設定主機別名 請為您的路由器位址 (非 DNS 項目) 新增個別主機別名 路由器,指定每個路由器的 IP 位址和虛擬主機的通訊埠。

介面 僅適用於 Private Cloud。
介面

指定您要 port 繫結的網路介面。如果發生以下情況: 省略這個元素,系統會將通訊埠繫結至所有介面。

舉例來說,如要指定將通訊埠只繫結至 en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

執行「ifconfig -a」,判斷系統上可用的介面 指令

所有介面
RetryOptions 適用於 Edge Cloud 和 Private Cloud 4.18.01 。
RetryOption

設定路由器在訊息處理者運作時回應這個虛擬主機的方式 下降。

您可以使用 <RetryOption> 指定多個值,有效值 包括:

off 停用重試,且虛擬主機會在要求時傳回失敗代碼。
http_599 (預設) 如果路由器收到來自訊息的 HTTP 599 回應 處理器,路由器會將要求轉送至下一個訊息處理器。

HTTP 599 是訊息產生的特殊回應代碼 程序關閉時。訊息處理器嘗試完成所有 現有的要求,但在任何新要求中以 HTTP 599 回應, 讓路由器在下一個訊息處理器中重試要求。

error 與訊息處理器建立連線時發生錯誤, 將要求傳送至 Cloud Router 或從路由器讀取回應標頭 將要求轉送至下一個訊息處理器。
timeout 如果在與訊息處理器建立連線時發生逾時, 將要求傳送至 Cloud Router 或從路由器讀取回應標頭 將要求轉送至下一個訊息處理器。
invalid_header 如果訊息處理器傳回空白或無效的回應,表示路由器 將要求轉送至下一個訊息處理器。
http_XXX 如果訊息處理器傳回 HTTP 的回應 代碼為 XXX,路由器會將要求轉送至下一則訊息 處理器。

如果您指定多個值,路由器會使用邏輯 OR 合併這些值。

例如:

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
ListenOptions 適用於 Private Cloud 4.18.01 以上版本,以及 Edge 專用 向 Apigee Edge 支援頁面提出要求。
ListenOption

如果在 TCP 直通模式中使用 ELB 處理傳送至邊緣路由器的要求, 路由器會將 ELB 的 IP 位址視為用戶端 IP,而非 實際的用戶端 IP如果路由器需要真實的用戶端 IP 在以下裝置上啟用 proxy_protocol: ELB,以在 TCP 封包中傳遞用戶端 IP。在路由器上,您還必須設定 <ListenOption> 傳送至 proxy_protocol 由於 ELB 處於 TCP 直通模式,因此您通常會在路由器上終止 TLS。 因此,您通常只會將虛擬主機設定為使用 proxy_protocol 具備使用 TLS 的權限

<ListenOption> 的預設值為空白 字串。

例如:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

如果之後取消設定 <ListenOption>,請更新 虛擬主機,且會從 HTTP 標頭省略 <ListenOptions> 標記 更新。

SSLInfo
已啟用

啟用單向 TLS/SSL。您必須定義包含憑證和 私密金鑰

雲端:您必須擁有 Symantec 或 VeriSign 等可信實體簽署的憑證。 您無法使用自行簽署的憑證,或由自行簽署的 CA 簽署的分葉憑證。

Cloud:如果現有虛擬主機設為使用通訊埠 就無法變更 TLS 設定。這表示您無法從以下位置變更 TLS 設定: 停用為停用,或從已停用變為啟用狀態

false
ClientAuthEnabled 允許在 Edge (伺服器) 和應用程式 (用戶端) 之間啟用雙向傳輸層安全標準 (TLS),讓應用程式 請求。如要啟用雙向傳輸層安全標準 (TLS),您必須在 Edge 上設定含有以下內容的信任儲存庫: 並透過傳輸層安全標準 (TLS) 用戶端提供憑證 false
KeyStore

Edge 上的 KeyStore 名稱。

Apigee 建議您使用參照來指定 KeyStore 名稱,這樣就能 不必重新啟動路由器,就能變更 KeyStore。請參閱可用的選項 設定 TLS

是,如果啟用為 true
KeyAlias 您將憑證和私密金鑰上傳到 KeyStore 時指定的別名。個人中心 必須按照字面指定別名名稱;無法使用參照請參閱設定選項 傳輸層安全標準 (TLS) 是,如果啟用為 true
TrustStore

含有憑證或憑證鏈結的 Edge 信任儲存庫名稱 用於雙向 TLS如果 <ClientAuthEnabled> 為 true,則為必要欄位。

Apigee 建議您使用參照來指定信任儲存庫名稱,這樣就能 變更信任存放區時,就不必重新啟動路由器。請參閱可用的選項 設定 TLS

IgnoreValidationErrors

如為 true,則指定忽略 TLS 憑證錯誤。這類似於「-k」選項 。

這個選項適用於為目標伺服器和目標端點設定 TLS 時,並且 即可。

與目標端點/目標伺服器搭配使用時,如果後端系統使用 SNI 並傳回憑證 主體的辨別名稱 (DN) 與主機名稱不符 忽略錯誤,且連線失敗。

false
加密

僅適用於 Private Cloud 4.15.07 以下版本。

指定虛擬主機支援的加密方式。如果沒有指定加密方式 即可在 JVM 取得所有可用的加密。

如要限制加密,請新增下列元素:

<Ciphers>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher>
</Ciphers>
JVM 支援的所有功能
通訊協定

僅適用於 Private Cloud 4.15.07 以下版本。

指定虛擬主機支援的通訊協定。如果沒有指定通訊協定 那麼 JVM 的所有通訊協定都會允許

如要限制通訊協定,請新增下列元素:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
JVM 支援的所有功能
UseBuiltInFreeTrialCert 僅適用於 Edge Cloud。
UseBuiltInFreeTrialCert

如果您有 Cloud 付費 Edge 帳戶,但尚未取得 TLS 憑證和金鑰,您可以 建立使用 Apigee 免費試用憑證和金鑰的虛擬主機。也就是說 不必先建立 KeyStore。

Apigee 免費試用憑證的定義為 *.apigee.net 網域。因此, 虛擬主機的 <HostAlias> 格式也必須為 *.apigee.net

請參閱定義虛擬主機 使用 Apigee 免費試用憑證和金鑰

false
PropagateTLSInformation 現已推出 Alpha 版,僅適用於 Edge Cloud。
ConnectionProperties

允許 Edge 擷取 TLS 連線資訊。 然後這項資訊可在 API Proxy 中以流程變數的形式使用。 請參閱「在 API Proxy 中存取 TLS 連線資訊」一節。 瞭解詳情。

false
ClientProperties

啟用 Edge 雙向傳輸層安全標準 (TLS) 擷取的用戶端憑證詳細資料。 然後這項資訊可在 API Proxy 中以流程變數的形式使用。 請參閱「在 API Proxy 中存取 TLS 連線資訊」一節。 瞭解詳情。

false
資源 適用於 Edge Cloud 和 Private Cloud 4.17.01 。
proxy_read_timeout

設定訊息處理器與路由器之間的逾時時間長度 (以秒為單位)。 路由器捨棄連線,如果無法取得 HTTP 504 回應,則會傳回 HTTP 504 回應 。

Proxy_read_timeout 的值應大於所用目標逾時值 。這樣能確保路由器不會在 訊息處理器已等候回應。預設的 訊息處理器為 55 秒,55000 毫秒 訊息的 conf_http_HTTPTransport.io.timeout.millis 符記 處理器。

57
keepalive_timeout

設定用戶端與路由器之間的逾時時間長度 (以秒為單位) 會發出包含 Keep-Alive 標頭的要求。路由器會讓連線保持開啟 直到到期為止

如果路由器目前正在等候回應,則不會關閉連線 來自訊息處理器只有路由器傳回回應後,逾時時間才會開始 用戶端。

65
ssl_ciphers

設定虛擬主機支援的加密方式,覆寫設定的預設加密機制 連線至路由器

指定以冒號分隔的加密清單清單,格式如下:

<Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property>

如要瞭解這個權杖允許的語法和值,請參閱 https://www.openssl.org/docs/man1.0.2/man1/ciphers.html。 請注意,這個權杖使用的是 OpenSSL 加密名稱 (例如 AES128-SHA256),而非 Java/JSSE 加密名稱,例如 TLS_RSA_WITH_AES_128_CBC_SHA256。

高:!aNULL:

!MD5:

!DH+3DES:

!kEDH

ssl_protocols

僅適用於 Private Cloud。

將虛擬主機支援的 TLS 通訊協定設為以空格分隔的清單。 覆寫在路由器上設定的預設通訊協定

注意:如果兩個虛擬主機共用相同的通訊埠,他們就必須設定該主機 ssl_protocols 可設為相同的通訊協定。換句話說,共用相同通訊埠的虛擬主機必須 都支援相同的通訊協定

指定以空格分隔的 TLS 通訊協定清單,格式如下:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2
proxy_request_buffering

啟用 (開啟) 或停用 (關閉) 要求主體的緩衝功能。緩衝設定開啟時, 路由器會先緩衝整個要求主體,然後再傳送至訊息處理器。如果 發生錯誤,路由器可以重試不同的訊息處理器。

如果停用,系統會停用緩衝功能,並將要求主體傳送至訊息處理器 會立即擷取。如果發生錯誤,路由器不會重試 要求另一個訊息處理器

proxy_buffering 啟用 (開啟) 或停用 (關閉) 回應緩衝處理。緩衝設定開啟時, 路由器會緩衝回應。緩衝區關閉時,回應會傳遞給用戶端 同步,即時受到路由器接收威脅。