Edge for Private Cloud v. 4.17.09
Um host virtual no Edge define os domínios e as portas do Edge Router em que um proxy de API está expostos e, por extensão, o URL que os apps usam para acessar um proxy de API. Um host virtual também define se o proxy de API será acessado pelo protocolo HTTP ou pela protocolo.
Como parte do processo de integração do Edge, você precisa criar uma organização, um ambiente e host virtual. O Edge tem o comando setup-org para tornar esse processo mais fácil para novos usuários.
Ao criar o host virtual, especifique as seguintes informações:
- o nome do host virtual usado para referenciá-lo na API; proxies.
- A porta no roteador do host virtual. Normalmente, essas portas começar em 9001 e aumentar um para cada novo host virtual.
- O alias de host do host virtual. Normalmente, o nome DNS do host virtual.
Por exemplo, em um arquivo de configuração transmitido ao comando setup-org, pode especificar essas informações como:
# Specify virtual host information. VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host. VHOST_ALIAS=myapis.apigee.net
O Edge Router compara o cabeçalho Host do recebida para a lista de aliases de host disponíveis como parte da determinação do proxy de API que lida com a solicitação. Ao fazer uma solicitação por meio de um host virtual, especifique um nome de domínio que corresponda ao alias de host de um host virtual ou especifique o endereço IP do roteador e o cabeçalho Host contendo alias do host.
Por exemplo, se você criou um host virtual com um alias de host de myapis.apigee.net na porta 9001, uma solicitação cURL a uma API por meio desse host virtual poderá usar uma das opções a seguir formas:
- Se você tiver uma entrada DNS para myapis.apigee.net:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - Se você não tiver uma entrada DNS para myapis.apigee.net:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H "Host: myapis.apigee.net"
Neste formulário, você especifica o endereço IP do roteador e passa o alias do host na Host.
Observação: o comando cURL, a maioria dos navegadores e muitos outros utilitários automaticamente anexe o cabeçalho Host com o domínio como parte da solicitação, para que você possa usar um comando cURL no formato:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Opções quando você não tem um DNS para o host virtual
Uma opção quando você não tem uma entrada DNS é definir o alias de host como o endereço IP do Roteador e porta do host virtual, como <routerIP>:port. Por exemplo:
VHOST_ALIAS=192.168.1.31:9001
Em seguida, crie um comando curl no formato abaixo:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Essa opção é preferível porque funciona bem com a interface do Edge.
Caso você tenha vários roteadores, adicione um alias de host para cada um deles, especificando o endereço IP dos para cada roteador e porta do host virtual:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
Como alternativa, você pode definir o alias do host com um valor, como como temp.hostalias.com. Em seguida, você precisa passar o cabeçalho Host em cada solicitação:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'
Ou adicione o alias de host ao arquivo /etc/hosts. Por exemplo, adicione esta linha para /etc/hosts:
192.168.1.31 temp.hostalias.com
Em seguida, faça uma solicitação como se tivesse uma entrada DNS:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}