設定虛擬主機

本主題將說明 virtualhosts 設定屬性。虛擬主機可讓 Apigee Hybrid 處理與環境群組相關聯的 hostaliases 的 API 要求。詳情請參閱「關於環境和環境群組」主題中的「轉送和基本路徑」。

...
virtualhosts:
  - name: my-env-group
    sslCertPath: ./certs/fullchain.pem
    sslKeyPath: ./certs/privkey.key
...

收到 API Proxy 呼叫時,系統會將其路由至 API Proxy 部署所在環境群組的主機別名。

如需將 virtualhosts 套用至叢集的操作說明,請參閱「套用虛擬主機變更」。如要瞭解如何設定 TLS,請參閱「在 Istio 輸入設定傳輸層安全標準 (TLS) 和 mTLS」。

新增多個虛擬主機

virtualhosts[] 屬性是陣列,因此您可以建立多個。

...
virtualhosts:
  - name: my-env-group-1
    sslCertPath: ./certs/fullchain1.pem
    sslKeyPath: ./certs/privkey1.key

  - name: my-env-group-2
    sslCertPath: ./certs/fullchain2.pem
    sslKeyPath: ./certs/privkey2.key
...

如要瞭解如何設定 TLS,請參閱「在 Istio 輸入設定傳輸層安全標準 (TLS) 和 mTLS」。

套用 virtualhosts 變更

如果您只新增或變更 virtualhosts 屬性,請使用 apigee-virtualhost 圖表和要套用變更的環境群組名稱套用變更:

helm upgrade $ENV_GROUP apigee-virtualhost/ \
  --namespace apigee \
  --atomic \
  --set envgroup=$ENV_GROUP \
  -f OVERRIDES_FILE.yaml

舉例來說,如果您變更 virtualhostsenv,則必須使用 helm upgrade 套用變更,且不得使用 ENV_GROUP apigee-virtualhost/ 旗標更新叢集。例如:

針對要更新的每個環境執行 helm upgrade

helm upgrade $ENV_NAME apigee-env/ \
  --namespace apigee \
  --atomic \
  --set env=$ENV_NAME \
  -f OVERRIDES_FILE.yaml

傳輸層安全標準 (TLS) 金鑰和憑證

virtualhost 屬性需要 TLS 金鑰和憑證。密鑰/憑證用於提供與入口閘道之間的安全通訊,且必須與指定環境群組中使用的主機別名相容。

您可以自行決定如何為混合型設定產生適當的 TLS 憑證/金鑰組合。以下主題僅提供做為範例,主要用途是嘗試或測試新的混合式安裝作業,如果無法以其他方式取得 TLS 憑證: