Um host virtual no Edge define os domínios e as portas do roteador do Edge em que um proxy de API é exposto 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 é acessado usando o protocolo HTTP ou o protocolo HTTPS criptografado.
Como parte do processo de integração do Edge, é necessário criar uma organização, um ambiente e
um host virtual. O Edge oferece o comando setup-org para facilitar
esse processo para novos usuários.
Ao criar o host virtual, especifique as seguintes informações:
- O nome do host virtual que você usa para referenciá-lo nos proxies de API.
- A porta do roteador para o host virtual. Normalmente, essas portas começam em 9001 e são incrementadas em um para cada novo host virtual.
- O alias do host do host virtual. Normalmente, o nome DNS do host virtual.
Por exemplo, em um arquivo de configuração transmitido ao comando setup-org, você 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 roteador do Edge compara o Host cabeçalho da
solicitação recebida à lista de aliases de host disponíveis como parte da determinação do proxy de API que
processa a solicitação. Ao fazer uma solicitação por um host virtual, especifique um nome de domínio
que corresponda ao alias do host de um host virtual ou especifique o endereço IP do roteador e
o cabeçalho Host que contém o 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 para uma API por esse host virtual poderá usar uma das seguintes 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'
Nessa forma, você especifica o endereço IP do roteador e transmite o alias do host no
Hostcabeçalho.
Opções quando você não tem uma entrada DNS para o host virtual
Uma opção quando você não tem uma entrada DNS é definir o alias do host para o endereço IP do roteador e a porta do host virtual, como routerIP:port. Por exemplo:
VHOST_ALIAS=192.168.1.31:9001
Em seguida, faça um comando curl no formato abaixo:
curl http://routerIP:9001/proxy-base-path/resource-path
Essa opção é preferencial porque funciona bem com a nova interface do Edge.
Se você tiver vários roteadores, adicione um alias de host para cada roteador, especificando o endereço IP de cada roteador e a 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 para um valor, como temp.hostalias.com.
Em seguida, é necessário transmitir 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 do host ao arquivo /etc/hosts. Por exemplo, adicione esta linha
a /etc/hosts:
192.168.1.31 temp.hostalias.com
Em seguida, você pode fazer uma solicitação como se tivesse uma entrada DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path