設定虛擬主機常見問題

您正在查看 Apigee Edge 說明文件。
參閱 Apigee X 說明文件
資訊

Edge Cloud 客戶現在可以建立、修改及刪除虛擬主機。這些動作先前必須由 Apigee Edge 支援團隊執行。

誰可以在 Edge Cloud 中設定虛擬主機?

只有具備付費帳戶的 Cloud 客戶才能建立、修改及刪除虛擬主機。建立虛擬主機的使用者必須是機構管理員角色,或具備修改虛擬主機權限的自訂角色。其他角色的使用者沒有建立虛擬主機的授權。

自訂角色必須具備 /environments/*/virtualhosts 或其任何父項資源的 GET、PUT 和 DELETE 權限。詳情請參閱「使用 API 建立角色」。

如果已有 Apigee 建立的現有虛擬主機,該怎麼辦?

現有 Edge Cloud 客戶已有 Apigee 建立的虛擬主機。您現在可以修改這些虛擬主機。

不過,進行任何變更前,請先參閱為雲端設定虛擬主機一文,瞭解修改虛擬主機的相關規定。舉例來說,如果現有虛擬主機設為使用 443 以外的通訊埠,您就無法變更通訊埠編號或 TLS 設定。也就是說,您無法將 TLS 設定從啟用變更為停用,也無法從停用變更為啟用。

我可以在 Cloud 的虛擬主機中使用哪個通訊埠?

您只能在 Cloud 的虛擬主機中使用通訊埠 443。但無法使用通訊埠 80 或任何其他通訊埠。

為什麼我無法在雲端的虛擬主機中使用通訊埠 80?

我們建議 Apigee 客戶停止使用通訊埠 80 虛擬主機處理 API 執行階段流量,因為通訊埠 80 並不安全。其次,由於我們無法驗證網域的擁有權,因此無法將通訊埠 80 虛擬主機設為自助式 Cloud 服務。對通訊埠 80 虛擬主機所做的變更可視為非標準,因此 Apigee Edge 支援保留了拒絕這類變更的權利。

所有新的雲端虛擬主機都必須使用傳輸層安全標準 (TLS) 嗎?

如要建立虛擬主機,您「必須」在虛擬主機上啟用 TLS。這表示您必須先使用傳輸層安全標準 (TLS) 憑證和金鑰建立 KeyStore,才能建立虛擬主機。

您必須具有由可信實體 (如 Symantec 或 VeriSign) 簽署的憑證。 您無法使用自行簽署的憑證,或是由自行簽署的 CA 簽署的分葉憑證。

詳情請參閱「為 Cloud 設定虛擬主機」一文。

我可以釘選 Apigee 免費試用憑證嗎?

基於安全考量,Apigee 免費試用憑證每三個月就會過期。三個月結束時,Apigee 會使用新的憑證輪換到期的憑證。因此,Apigee 並不建議或支援綁定免費試用憑證。

我可以更新虛擬主機使用的 TLS 憑證嗎?

如果虛擬主機的傳輸層安全標準 (TLS) 憑證即將到期,您可以更新虛擬主機,改用含有有效憑證的其他 KeyStore。

什麼是參考檔案?

參照是包含 KeyStore 名稱的變數。如要變更虛擬主機使用的 KeyStore,您必須更新參照變數,而非虛擬主機本身。

Apigee Edge 上的舊虛擬主機可能未設為使用參照。在此情況下,您「必須」要求 Apigee Edge 支援團隊更新虛擬主機才能使用參照。請勿自行更新虛擬主機,使其改用參照。

如何判斷我的虛擬主機是否使用參照?

如要查看特定虛擬主機的資訊,請使用 Get Virtual Host API:

curl -X GET -H "accept:application/xml" \
  https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \
  -u orgAdminEmail:pWord

其中 vhost_name 是虛擬主機的名稱。舉例來說,您可以將 vhost_name 指定為「安全」,查看預設安全虛擬主機的設定:

<VirtualHost name="secure">
    <HostAliases>
        <HostAlias>orgname-prod.apigee.net</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>443</Port>
    <Properties/>
    <SSLInfo>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <KeyAlias>freetrial</KeyAlias>
        <KeyStore>ref://freetrial</KeyStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

請注意,在這個範例中,回應中的 <KeyStore> 元素值開頭為 ref://。這個前置字串代表 KeyStore 使用參照。

如果 <KeyStore> 元素的值是字串常值,則不會使用參照。例如:

<KeyStore>mykeystore</KeyStore>

請勿自行更新虛擬主機,使其改用參照。您「必須」要求 Apigee Edge 支援更新虛擬主機才能使用參照。Apigee 更新虛擬主機以使用參照後,您就可以透過更新參照變數來變更 KeyStore。

詳情請參閱「為 Cloud 設定虛擬主機」一文。

如何建立虛擬主機?

請按照以下程序建立虛擬主機:

  1. 為指向 [org]-[environment].apigee.net 的公開網域建立 DNS 項目和 CNAME 記錄。詳情請參閱關於虛擬主機中的「關於主機別名和 DNS 名稱」。
  2. 按照 使用 Edge UI 建立 KeyStore 和信任儲存庫所述的程序,建立及設定 KeyStore。
  3. 將您的憑證和金鑰上傳至 KeyStore。
  4. 按照設定雲端的虛擬主機所述,建立 KeyStore 的參照。
  5. 按照設定 Cloud 的虛擬主機中的說明,使用建立虛擬主機 API 建立虛擬主機。請務必指定正確的 KeyStore 參照。
  6. 如果您目前已有 API Proxy,請將虛擬主機新增至 ProxyEndpoint 中的 <HTTPConnection> 元素。系統會自動將虛擬主機新增至所有新的 API Proxy。 請參閱 設定 API Proxy 以使用虛擬主機

我可以要求 Apigee 封鎖 Apigee Edge Cloud 上的 TCP 通訊埠 80、443 或 15999 嗎?

由於我們的客戶會在 TCP 通訊埠 443 設定虛擬主機,有時則是在 TCP 通訊埠 80 (但不建議使用通訊埠 80),因此我們無法封鎖這些通訊埠,因為這會導致所有 API 執行階段流量失效。

系統會在 Cloud 內部使用 TCP 通訊埠 15999,藉此判斷路由器的健康狀態是否良好,因此不應遭到封鎖,以免造成非預期的 API 執行階段影響。