Como configurar um host virtual

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