Este tema trata sobre la configuración del host virtual. Los hosts virtuales permiten a Apigee Hybrid controlar solicitudes a la API a varios nombres de dominio y enrutar rutas de base del proxy a entornos específicos.
Para especificar a qué rutas base del proxy de API específicas del entorno se deben enrutar, usa la propiedad de configuración virtualhosts.routingRules[]
. Para obtener detalles sobre las propiedades individuales, consulta virtualhosts en la referencia de la propiedad Configuration. Por ejemplo:
... virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /customers env: test2 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Cuando ingresa una llamada a la API, como https://api.example.com/orders
, la solicitud se envía al procesador de mensajes del entorno test1
. Del mismo modo, si ingresa una solicitud para https://api.example.com/customers
, se enruta al entorno test2
.
Agrega un entorno nuevo
Para agregar un entorno nuevo, agrega su configuración a la propiedad envs[]
y agrega una entrada virtualhosts.routingRules.path
nueva que especifique qué rutas base quieres asignar al entorno nuevo. En el siguiente ejemplo, se agrega un entorno nuevo llamado test3
, y routingRules
se actualizó para enrutar dos rutas al entorno nuevo:
virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test3 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Para aplicar la actualización, solo debes aplicar el componente runtime
, de la siguiente manera:
apigeectl apply -f overrides-file.yaml -c runtime
Agrega varios hosts virtuales
La propiedad virtualhosts[]
es un arreglo y, por lo tanto, puedes crear más de una. Cada host virtual debe contener un conjunto único de alias de host: no hay dos hosts virtuales que puedan compartir el mismo alias de host. Por ejemplo, el nuevo host virtual dev
controla el tráfico enviado al dominio api.internal.com
.
virtualhosts: - name: vhost-one hostAliases: ["api.example.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 - name: vhost-two hostAliases: ["api.internal.com"] sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.pem routingRules: - paths: - /orders - /items env: test1 - paths: - /v0/hello - /httpbin env: test2 - paths: - /v0/inventory - /v0/customers env: test3 envs: - name: test1 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test2 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json - name: test3 serviceAccountPaths: synchronizer: ./sa/synchronizer.json udca: ./sa/udca.json
Para aplicar la actualización, solo debes aplicar el componente runtime
, de la siguiente manera:
apigeectl apply -f overrides-file.yaml -c runtime
Claves y certificados TLS
Cuando creas un host virtual nuevo, debes proporcionar una clave TLS y un certificado. La clave o el certificado se usan para proporcionar una comunicación segura con la puerta de enlace de entrada.
Tu decides la forma en la que generas pares de claves y certificados TLS adecuados para tu configuración híbrida. Los siguientes temas solo se proporcionan como muestras, destinadas principalmente a probar una instalación híbrida nueva si no es posible obtener credenciales TLS de otra manera:
- Consulta Obtén credenciales de TLS a fin de obtener un conjunto de pasos de muestra para crear un par de claves o un certificado TLS autorizado.
- Puedes usar pares de claves o certificados autofirmados solo con fines de prueba. Consulta Genera credenciales TLS autofirmados.