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 fornece 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 para o comando setup-org
, é possível 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
da
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
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 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 Cabeçalho
Host
.
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"
Você também pode definir o alias de host com um valor, como temp.hostalias.com
.
Em seguida, você precisa 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 de host ao seu 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