您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
虛擬主機表示法
用來定義虛擬主機的 XML 物件,取決於您使用的 Edge 版本:Cloud 或 Private Cloud。
如果您是 Private Cloud 客戶,請務必使用適用於 Edge 版本的正確 XML。
雲端和私有雲 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>Private Cloud 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>Private Cloud 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 |
指定虛擬主機的名稱。設定 API Proxy 時,您會使用該名稱參照虛擬主機。 名稱屬性只能使用以下字元:A-Z0-9._\-$%。 |
無 | 是 | ||||||||||||
| 通訊埠 |
指定虛擬主機使用的連接埠號碼。確認 Edge 路由器上的通訊埠已開啟。 如果在 Cloud:建立虛擬主機時,必須指定通訊埠 443。如果省略,通訊埠預設為 443。如果現有虛擬主機使用的通訊埠不是 443,就無法變更通訊埠。 適用於 Private Cloud 4.16.01 至 4.17.05 版:建立虛擬主機時,請指定虛擬主機使用的路由器通訊埠。例如通訊埠 9001。根據預設,Router 會以「apigee」使用者身分執行,該使用者無法存取特權通訊埠 (通常是 1024 以下的通訊埠)。如要建立將路由器繫結至受保護通訊埠的虛擬主機,請將路由器設定為以有權存取這些通訊埠的使用者身分執行。詳情請參閱「設定虛擬主機」。 適用於 4.16.01 之前的 Private Cloud 版本:路由器只能在特定通訊埠上,使用指定憑證,監聽每個虛擬主機的一個 HTTPS 連線。因此,如果 TLS 終止作業發生在指定連接埠的路由器上,多個虛擬主機就無法使用相同的連接埠號碼。 |
無 | 是 | ||||||||||||
| BaseUrl | 覆寫 Edge UI 顯示的網址,適用於部署至虛擬主機的 API Proxy。如果 Edge 路由器前方有外部負載平衡器,這項功能就非常實用。詳情請參閱「為私有雲設定 API 的 TLS 存取權」。
|
無 | 否 | ||||||||||||
| OCSPStapling |
OCSP (線上憑證狀態通訊協定) 用戶端會將狀態要求傳送至 OCSP 回應程式,判斷 TLS 憑證是否有效。回應會指出 TLS 憑證是否有效且未遭撤銷。 啟用後,OCSP 釘選功能可讓 Edge (做為單向 TLS 的 TLS 伺服器) 直接查詢 OCSP 回應器,然後快取回應。接著,Edge 會將此回應傳回給 TLS 用戶端,或在 TLS 握手期間釘選回應。 詳情請參閱「在伺服器上啟用 OCSP 釘選」。 必須啟用 TLS,才能啟用 OCSP 釘選。如要啟用,請設為 |
關閉 | 否 | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
Router 上虛擬主機的公開 DNS 名稱,可選擇是否包含通訊埠號碼。虛擬主機的主機別名和通訊埠號碼組合,在 Edge 安裝作業中不得重複。也就是說,如果虛擬主機的主機別名不同,就能使用相同的通訊埠編號。 您必須建立與主機別名相符的 DNS 項目和 CNAME 記錄,且主機別名必須與用戶端在
您可以在同一個虛擬主機定義中有多個 您可以在主機別名中加入「*」萬用字元。「*」萬用字元只能位於主機別名的開頭 (第一個「.」之前),且不得與其他字元混用。例如 Cloud:如果您現有的虛擬主機使用 443 以外的通訊埠,就無法新增或移除主機別名。 私有雲:如果您是使用路由器的 IP 位址 (而非 DNS 項目) 設定主機別名,請為每個路由器新增個別的主機別名,並指定每個路由器的 IP 位址和虛擬主機的通訊埠。 |
無 | 是 | ||||||||||||
| 介面 | 僅適用於 Edge for Private Cloud。 | ||||||||||||||
| 介面 |
指定您要將 舉例來說,如要指定將通訊埠繫結至 en0: <Interfaces> <Interface>en0</Interface> </Interfaces> 執行「ifconfig -a」指令,判斷系統上可用的介面。 |
無 | 所有介面 | ||||||||||||
| RetryOptions | 適用於 Edge Cloud 和 Private Cloud 4.18.01 以上版本。 | ||||||||||||||
| RetryOption |
設定訊息處理器停止運作時,路由器對這個虛擬主機的反應。 您可以使用
如果指定多個值,路由器會使用邏輯 OR 合併這些值。 例如: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
| ListenOptions | 適用於 Private Cloud 4.18.01 以上版本,如要用於 Edge Cloud,請向 Apigee Edge 支援團隊提出要求。 | ||||||||||||||
| ListenOption |
如果您使用 TCP 直通模式的 ELB 處理 Edge Router 的要求,Router 會將 ELB 的 IP 位址視為用戶端 IP,而非實際的用戶端 IP。如果路由器需要真實的用戶端 IP,請在 ELB 上啟用
例如: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> 如要稍後取消設定 |
||||||||||||||
| SSLInfo | |||||||||||||||
| 已啟用 |
啟用單向 TLS/SSL。您必須定義含有憑證和私密金鑰的 KeyStore。 適用於 Cloud:您必須擁有由信任實體 (例如 Symantec 或 VeriSign) 簽署的憑證。您無法使用自行簽署的憑證,或由自行簽署的 CA 簽署的葉子憑證。 適用於 Cloud:如果現有的虛擬主機設定使用 443 以外的通訊埠,您就無法變更 TLS 設定。也就是說,您無法將 TLS 設定從啟用變更為停用,或從停用變更為啟用。 |
false | 否 | ||||||||||||
| ClientAuthEnabled | 在 Edge (伺服器) 和提出要求的應用程式 (用戶端) 之間啟用雙向或用戶端 TLS。如要啟用雙向 TLS,您必須在 Edge 上設定包含 TLS 用戶端憑證的信任儲存區。 | false | 否 | ||||||||||||
| KeyStore |
Edge 上的金鑰儲存庫名稱。 Apigee 建議您使用參照指定 KeyStore 名稱,這樣就能變更 KeyStore,不必重新啟動路由器。詳情請參閱「傳輸層安全標準 (TLS) 設定選項」。 |
無 | 如果「Enabled」為 true,則為「Yes」 | ||||||||||||
| KeyAlias | 將憑證和私密金鑰上傳至金鑰儲存區時指定的別名。您必須指定別名,不能使用參照。詳情請參閱「傳輸層安全標準 (TLS) 設定選項」。 | 無 | 如果「Enabled」為 true,則為「Yes」 | ||||||||||||
| TrustStore |
Edge 上的信任儲存區名稱,其中包含用於雙向 TLS 的憑證或憑證鏈結。如果 Apigee 建議您使用參照指定信任儲存庫名稱,這樣就能變更信任儲存庫,不必重新啟動路由器。詳情請參閱「傳輸層安全標準 (TLS) 設定選項」。 |
無 | 否 | ||||||||||||
| IgnoreValidationErrors |
如為 true,表示忽略 TLS 憑證錯誤。這與 cURL 的「-k」選項類似。 為目標伺服器和目標端點設定 TLS 時,以及設定使用雙向 TLS 的虛擬主機時,這個選項有效。 如果後端系統使用 SNI,並傳回主體識別名稱 (DN) 與主機名稱不符的憑證,則無法忽略錯誤,連線會失敗。 |
false | 否 | ||||||||||||
| 密碼 |
僅適用於 Edge for 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 支援的所有語言 | 否 | ||||||||||||
| 通訊協定 |
僅適用於 Edge for Private Cloud 4.15.07 版和更早版本。 指定虛擬主機支援的通訊協定。如未指定通訊協定,則允許 JVM 使用所有通訊協定。 如要限制通訊協定,請新增下列元素: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
JVM 支援的所有語言 | 否 | ||||||||||||
| UseBuiltInFreeTrialCert | 僅適用於 Edge Cloud。 | ||||||||||||||
| UseBuiltInFreeTrialCert |
如果您有 Edge for Cloud 付費帳戶,但還沒有 TLS 憑證和金鑰,可以建立使用 Apigee 免費試用憑證和金鑰的虛擬主機。也就是說,您不必先建立金鑰儲存區,即可建立虛擬主機。 Apigee 免費試用憑證是為 |
false | 否 | ||||||||||||
| PropagateTLSInformation | 僅適用於 Edge Cloud Alpha 版。 | ||||||||||||||
| ConnectionProperties |
啟用 Edge 擷取 TLS 連線資訊。 這項資訊隨後會以 API Proxy 中的流程變數形式提供。 詳情請參閱「評估 API Proxy 中的傳輸層安全標準 (TLS) 連線資訊」。 |
false | 否 | ||||||||||||
| ClientProperties |
啟用雙向 TLS 時,可擷取 Edge 擷取的用戶端憑證詳細資料。 這項資訊隨後會以 API Proxy 中的流程變數形式提供。 詳情請參閱「評估 API Proxy 中的傳輸層安全標準 (TLS) 連線資訊」。 |
false | 否 | ||||||||||||
| 資源 | 適用於 Edge Cloud 和 Private Cloud 4.17.01 以上版本。 | ||||||||||||||
| proxy_read_timeout |
設定訊息處理器和路由器之間的逾時時間長度 (以秒為單位)。如果路由器未在逾時前收到訊息處理器的回應,就會捨棄連線並傳回 HTTP 504 回應。 proxy_read_timeout 的值應大於訊息處理器使用的目標逾時值。這樣可確保在訊息處理器有時間傳回回應之前,路由器不會逾時。訊息處理器的預設目標逾時時間為 55 秒 (55000 毫秒),如訊息處理器的 |
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)。 |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
否 | ||||||||||||
| ssl_protocols |
僅適用於 Edge for Private Cloud。 以空格分隔清單的形式,設定虛擬主機支援的 TLS 通訊協定,覆寫在路由器上設定的預設通訊協定。 注意:如果兩個虛擬主機共用同一個連接埠,則必須將 請採用以下格式指定以空格分隔的 TLS 通訊協定清單: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | 否 | ||||||||||||
| proxy_request_buffering |
啟用 (開啟) 或停用 (關閉) 要求主體的緩衝處理。緩衝處理功能開啟時,路由器會緩衝處理整個要求主體,再傳送至訊息處理器。如有錯誤,路由器可以嘗試使用其他訊息處理器。 如果關閉,系統會停用緩衝處理,並在收到要求主體後立即傳送至訊息處理器。如果發生錯誤,路由器不會將要求重試傳送至其他訊息處理器。 |
對 | 否 | ||||||||||||
| proxy_buffering | 啟用 (開啟) 或停用 (關閉) 回應緩衝。緩衝處理開啟時,路由器會緩衝處理回應。緩衝處理關閉時,回應會同步傳遞至用戶端,也就是 Router 收到回應後立即傳遞。 | 對 | 否 | ||||||||||||