Este tópico aborda a configuração do anfitrião virtual. Os anfitriões virtuais permitem que o Apigee Hybrid processe pedidos de API para vários nomes de domínio e encaminhe os caminhos base do proxy para ambientes específicos.
Para especificar para que caminhos base do proxy de API específicos do ambiente devem ser encaminhados, use a propriedade de configuração virtualhosts.routingRules[]
. Para ver detalhes sobre as propriedades individuais, consulte virtualhosts na referência da propriedade de configuração. Por exemplo:
... 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
Quando chega uma chamada de API, como: https://api.example.com/orders
, o pedido
é enviado para o processador de mensagens do ambiente test1
. Da mesma forma, se receber um pedido para
https://api.example.com/customers
, este é encaminhado para o ambiente test2
.
Adicionar um novo ambiente
Para adicionar um novo ambiente, adicione a respetiva configuração à propriedade envs[]
e
adicione uma nova entrada virtualhosts.routingRules.path
que especifique os caminhos base que quer mapear para o novo ambiente. No exemplo seguinte, é adicionado um novo ambiente com o nome
test3
e os routingRules
foram atualizados para
encaminhar dois caminhos para o novo ambiente:
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 a atualização, só tem de aplicar o componente runtime
, da seguinte forma:
apigeectl apply -f overrides-file.yaml -c runtime
Adicionar vários anfitriões virtuais
A propriedade virtualhosts[]
é uma matriz e, por isso, pode criar mais do que uma. Cada anfitrião virtual tem de conter um conjunto único de aliases de anfitriões: não podem existir dois anfitriões virtuais
com o mesmo alias de anfitrião. Por exemplo, o novo anfitrião virtual dev
processa o tráfego enviado para o domínio 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 a atualização, só tem de aplicar o componente runtime
, da seguinte forma:
apigeectl apply -f overrides-file.yaml -c runtime
Chaves e certificados TLS
Quando cria um novo anfitrião virtual, tem de fornecer uma chave e um certificado TLS. A chave/certificado é usado para fornecer uma comunicação segura com o gateway de entrada.
A forma como gera os pares de chaves/certificados TLS adequados para a sua configuração híbrida é da sua responsabilidade. Os seguintes tópicos são fornecidos apenas como exemplos, destinados principalmente a experimentar ou testar uma nova instalação híbrida se não for possível obter credenciais TLS de outra forma:
- Consulte o artigo Obtenha credenciais TLS para ver um conjunto de passos de exemplo para criar um par de chave/certificado TLS autorizado.
- Pode usar um par de chaves/certificado autoassinado apenas para fins de teste. Consulte o artigo Gere credenciais TLS autoassinadas.