Como configurar um host virtual

Edge para nuvem privada v4.18.05

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 da API pode ser acessado usando o protocolo HTTP ou o protocolo HTTPS criptografado.

Como parte do processo de integração do Edge, você precisa criar uma organização, um ambiente e um 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 fazer referência a ele nos proxies da API.
  • 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. Geralmente, o nome DNS do host virtual.

Por exemplo, em um arquivo de configuração transmitido ao 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 para uma API por esse host virtual pode usar um dos seguintes formatos:

  • 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'

    Nesse formulário, você especifica o endereço IP do roteador e transmite o alias do host no 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, faça um comando curl no formulário 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, transmita 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 você tivesse uma entrada de DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path