您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
虛擬主機表示法
用於定義虛擬主機的 XML 物件是以 Edge (雲端或私有雲) 版本為準。
如果您是 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>
私有雲 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 |
指定虛擬主機的名稱。設定 API Proxy 時,您必須使用該名稱來參照虛擬主機。 名稱屬性中可使用的字元僅限於 A-Z0-9._\-$%, |
無 | 是 | ||||||||||||
通訊埠 |
指定虛擬主機使用的通訊埠號碼。確認邊緣路由器上的通訊埠已開啟。 如果您在 雲端:您在建立虛擬主機時,必須指定通訊埠 443。如果省略,通訊埠會預設為 443。如果現有虛擬主機使用 443 以外的通訊埠,您就無法變更該通訊埠。 針對私有雲版本 4.16.01 至 4.17.05:建立虛擬主機時,您需要指定虛擬主機使用的路由器通訊埠。例如通訊埠 9001。根據預設,路由器會以使用者「apigee」的形式執行,無法存取具有特殊權限的通訊埠,通常是 1024 以下版本的通訊埠。如要建立將路由器繫結至受保護的通訊埠的虛擬主機,您必須將路由器設為以具備這些通訊埠存取權的使用者的身分執行。詳情請參閱設定虛擬主機一文。 如為 4.16.01 版之前的私人 Cloud 版本:路由器只能監聽特定通訊埠上的每個虛擬主機一個 HTTPS 連線。因此,如果多個虛擬主機在指定通訊埠的路由器上發生傳輸層安全標準 (TLS) 終止作業,就無法使用相同的通訊埠編號。 |
無 | 是 | ||||||||||||
BaseUrl | 針對部署至虛擬主機的 API Proxy 覆寫 Edge UI 顯示的網址。當外部負載平衡器位於邊緣路由器前方,這項功能就相當實用。詳情請參閱「為私有雲的 API 設定 TLS 存取權」一文。
|
無 | 否 | ||||||||||||
OCSPStapling |
OCSP (線上憑證狀態通訊協定) 用戶端會將狀態要求傳送至 OCSP 回應者,判斷 TLS 憑證是否有效。回應會指出 TLS 憑證是否有效且未撤銷。 啟用之後,OCSP 輕觸功能即可讓 Edge 做為單向傳輸層安全標準 (TLS) 的傳輸層安全標準 (TLS) 伺服器直接查詢 OCSP 回應器,然後快取回應。接著,Edge 會將此回應傳回至傳輸層安全標準 (TLS) 用戶端,或做為傳輸層安全標準 (TLS) 握手程序的一部分而加以「輕觸」。詳情請參閱「在伺服器上啟用 OCSP Stapling」。 必須啟用 TLS,才能啟用 OCSP 共用功能。如要啟用,請設為 |
關閉 | 否 | ||||||||||||
HostAliases | |||||||||||||||
HostAlias |
路由器上虛擬主機的公開 DNS 名稱,您可以視需要提供通訊埠編號。針對 Edge 安裝中的所有虛擬主機,虛擬主機的主機別名名稱和通訊埠編號組合不得重複。也就是說,如果虛擬主機使用不同的主機別名,就能使用相同的通訊埠編號。 您必須建立與主機別名相符的 DNS 項目和 CNAME 記錄,且主機別名必須與用戶端在
同一個虛擬主機定義中可以有多個 您可以在主機別名中加入「*」萬用字元。「*」萬用字元只能放在主機別名的開頭 (「.」之前),且不能與其他字元混合。例如 雲端:如果現有虛擬主機使用 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 來處理傳送至邊緣路由器的要求,路由器會將 ELB 的 IP 位址視為用戶端 IP,而非實際用戶端 IP。如果路由器需要實際的用戶端 IP,請在 ELB 上啟用
例如: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> 如果之後想取消設定 |
||||||||||||||
SSLInfo | |||||||||||||||
已啟用 |
啟用單向 TLS/SSL。您必須定義包含憑證和私密金鑰的 KeyStore。 雲端:您必須具備由信任的實體 (例如 Symantec 或 VeriSign) 簽署的憑證。 您無法使用自行簽署的憑證,或是由自行簽署 CA 簽署的分葉憑證。 雲端:如果現有虛擬主機設定為使用 443 以外的通訊埠,則無法變更 TLS 設定。換句話說,您無法將 TLS 設定從「啟用」改為「停用」,也無法從停用改為啟用。 |
false | 否 | ||||||||||||
ClientAuthEnabled | 啟用邊緣 (伺服器) 和應用程式 (用戶端) 之間的雙向傳輸層安全標準 (TLS)。啟用雙向傳輸層安全標準 (TLS) 會要求您在 Edge 上設定信任儲存庫,該存放區包含來自 TLS 用戶端的憑證。 | false | 否 | ||||||||||||
KeyStore |
Edge 上的 KeyStore 名稱。 Apigee 建議您使用參照來指定 KeyStore 名稱,以便變更 KeyStore,而無須重新啟動路由器。詳情請參閱「設定 TLS 的選項」。 |
無 | 如果啟用時為 true,則為是 | ||||||||||||
KeyAlias | 上傳憑證和私密金鑰至 KeyStore 時指定的別名。您必須完整指定別名名稱;不能使用參照。詳情請參閱「設定 TLS 的選項」。 | 無 | 如果啟用時為 true,則為是 | ||||||||||||
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 |
如果您有 Cloud Edge for Cloud 帳戶,但尚未取得 TLS 憑證和金鑰,您可以建立使用 Apigee 免費試用憑證和金鑰的虛擬主機。也就是說,您不必先建立 KeyStore,就能建立虛擬主機。 已為「 |
false | 否 | ||||||||||||
PropagateTLSInformation | 僅適用於 Edge Cloud 的 Alpha 測試版。 | ||||||||||||||
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 回應。 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: ! |
否 | ||||||||||||
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 | 啟用 (開啟) 或停用 (關閉) 回應的緩衝處理功能。緩衝功能開啟時,路由器會緩衝處理回應。緩衝功能關閉時,系統會同步將回應傳送給用戶端,因為路由器收到回應。 | 在 | 否 |