本主題將說明 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
屬性,而沒有其他變更,則可以使用 ‑‑settings
標記套用這些變更。這項設定僅適用於 apigeectl
;對於 Helm,我們會使用適當的變數套用 apigee-virtualhost
。
Helm
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml ‑‑settings virtualhosts
如果您修改 virtualhosts
和 env
設定,則需要套用變更,但不要使用 Helm 的 ENV_GROUP_NAME apigee-virtualhost/
,也不要使用 apigeectl
的 ‑‑settings virtualhosts
。更新叢集的方式如下:
Helm
helm upgrade ENV_NAME apigee-env/ \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f OVERRIDES_FILE.yaml
接著升級 apigee-virtualhost
圖表:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml
apigeectl
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --env ENV_NAME
或如要更新所有環境的元件:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --all-envs
然後將變更套用至虛擬主機:
$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml settings virtualhosts
傳輸層安全標準 (TLS) 金鑰和憑證
virtualhost
屬性需要 TLS 金鑰和憑證。密鑰/憑證用於提供與入口閘道之間的安全通訊,且必須與指定環境群組中使用的主機別名相容。
您可以自行決定如何為混合型設定產生適當的 TLS 憑證/金鑰組合。以下主題僅提供做為範例,主要用途是嘗試或測試新的混合式安裝作業,如果無法以其他方式取得 TLS 憑證:
- 如要瞭解建立授權 TLS 憑證/金鑰組的步驟,請參閱「取得 TLS 憑證」。
- 您只能將自行簽署的憑證/金鑰組合用於測試。請參閱「產生自行簽署的 TLS 憑證」。