本主题讨论 virtualhosts 配置属性。虚拟主机允许 Apigee Hybrid 处理向与环境组关联的主机别名发出的 API 请求。如需了解详情,请参阅环境和环境组简介主题中的路由和基本路径。
...
virtualhosts:
- name: my-env-group
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.key
...进行 API 代理调用时,系统会路由到部署 API 代理的环境组的主机别名。
如需了解如何将 virtualhosts 应用于集群,请参阅应用虚拟主机更改。如需了解如何配置 TLS,请参阅在 Istio Ingress 上配置 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 Ingress 上配置 TLS 和 mTLS。
正在应用 virtualhosts 更改
如果您仅添加或更改 virtualhosts 属性,请使用 apigee-virtualhost 图表以及要应用更改的环境组的名称来应用更改:
helm upgrade $ENV_GROUP apigee-virtualhost/ \ --namespace apigee \ --atomic \ --set envgroup=$ENV_GROUP \ -f OVERRIDES_FILE.yaml
例如,如果您更改了 virtualhosts 和 env,则必须使用 helm upgrade 应用更改,并且不使用 ENV_GROUP apigee-virtualhost/ 标志更新集群。例如:
helm upgrade $ENV_NAME apigee-env/ \ --namespace apigee \ --atomic \ --set env=$ENV_NAME \ -f OVERRIDES_FILE.yaml
TLS 密钥和证书
virtualhost 属性需要使用 TLS 密钥和证书。密钥/证书用于提供与 Ingress 网关的安全通信,并且必须与指定环境组中使用的主机别名兼容。
您决定如何为混合配置生成正确的 TLS 证书/密钥对。以下主题仅作为示例提供,主要用于在无法以其他方式获取 TLS 凭据时尝试或测试新的混合安装:
- 请参阅获取 TLS 凭据,获取一组创建授权 TLS 证书/密钥对的示例步骤。
- 您只能使用自签名证书/密钥对来进行测试。请参阅生成自签名 TLS 凭据。