Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
No Edge, um Roteador processa todo o tráfego de entrada da API. Ou seja, todos os protocolos HTTP e HTTPS primeiro as solicitações para um proxy de API são processadas por um Edge Router.
Com um host virtual, é possível hospedar vários nomes de domínio em um servidor. No caso de Edge, o servidor corresponde a um Edge Router. Ao definir vários hosts virtuais em um roteador, o roteador pode processar solicitações de API para vários nomes de domínio.
Um host virtual no Edge define o protocolo de acesso (HTTP ou HTTPS), uma porta aberta do roteador e alias. Normalmente, o alias do host é o nome de domínio DNS que é mapeado para o endereço IP do roteador.
Por exemplo, a imagem a seguir mostra um roteador com duas definições de host virtual:
O primeiro host virtual lida com solicitações HTTPS domínio domainName1, e a segunda processa solicitações HTTP no domainName2.
Em uma solicitação para um proxy de API, o roteador compara o cabeçalho Host
da solicitação recebida com o
lista de aliases de host definidos por todos os hosts virtuais para determinar quais
o host lida com a solicitação.
Sobre as definições de host virtual
Os hosts virtuais contêm as seguintes informações:
- O nome interno do host virtual. Use esse nome para se referir ao servidor host nos proxies de API e ao configurar o host virtual.
- O alias do host do host virtual. Normalmente, o alias do host é o namespace
nome de domínio que corresponde ao endereço IP no roteador. O cabeçalho
Host
de uma As solicitações de proxy de API precisam conter o alias do host virtual. - Uma porta aberta no roteador.
- Se o TLS (acesso HTTPS) está ativado ou não (acesso HTTP).
Por exemplo, você especifica as seguintes informações ao criar um host virtual:
- nome = myvhost
- alias do host = apis.acme.com
- porta: 443
- O TLS está ativado
Com base na configuração acima para o host virtual, uma solicitação para um proxy de API usa o formulário:
https://apis.acme.com/{proxy-base-path}/{resource-path}
em que:
- {proxy-base-path} é definido quando você cria um proxy de API e é exclusivo para cada proxy de API.
Exemplo:
https://apis.acme.com/characters
- {resource-path} o caminho para um recurso acessível pelo proxy de API. Exemplo:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
Sobre hosts virtuais em Borda para a nuvem
Cada organização de Edge inclui automaticamente dois ambientes (test
e prod
), dois hosts virtuais em cada ambiente (default e secure),
e registros DNS para cada alias de host.
O alias de cada host virtual fornecido pela Apigee contém o nome da organização e environment, conforme mostrado na tabela a seguir:
Ambiente | Nome do host virtual | Alias de host | Port | TLS ativado |
---|---|---|---|---|
prod | padrão | {org-name}-prod.apigee.net |
80 | Não |
seguro | {org-name}-prod.apigee.net |
443 | Sim | |
teste | padrão | {org-name}-test.apigee.net |
80 | Não |
seguro | {org-name}-test.apigee.net |
443 | Sim |
Por exemplo, o nome de domínio padrão de uma organização chamada "myorg
"
no ambiente prod
é "myorg-prod.apigee.net
".
Portanto, para acessar um proxy de API nessa organização, use um URL no formato:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
Planos pagos da Apigee: um nome de domínio que contém "apigee.net". pode não ser o que você quer expor para os clientes. Você pode usar uma entrada DNS e um registro CNAME para mapear um nome de domínio para sua organização no Edge. Você também deve criar um host virtual com o alias de host definido para esse nome de domínio. Isso permite que os desenvolvedores acessem a API por meio de um domínio específico para sua empresa.
Confira um exemplo de domínio personalizado no Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Sobre hosts virtuais on Edge para nuvem privada
Quando você instala o Apigee Edge para nuvem privada, não há organizações padrão, ou hosts virtuais criados para você. Depois de concluir o processo de instalação do Edge, a primeira ação normalmente é criar uma organização, um ambiente e um host virtual por meio de a "integração" de desenvolvimento de software.
Para realizar a integração, execute o seguinte comando no nó do servidor de gerenciamento de borda:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
onde configFile contém as informações necessárias para criar um usuário, organização, ambiente e host virtual.
Por exemplo, você cria:
- Um usuário de sua escolha para atuar como administrador da organização
- Uma organização chamada
example
- Um ambiente na organização chamado
prod
- Um host virtual no ambiente chamado
default
que permite o acesso HTTP na porta 9.001 - Um alias de host do nome DNS usado para acessar o roteador, ou o endereço IP do roteador e
porta do host virtual no formato
IP:9001
.
Depois, é possível adicionar quantas organizações, ambientes e hosts virtuais você quiser e uma versão local do Edge. Confira mais informações em:
Hosts virtuais são abertos no roteador de borda. Portanto, você precisa garantir que a porta especificado para o host virtual está aberto no roteador. É possível usar um comando no formulário abaixo para abrir uma porta:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Depois de executar esse comando, você pode acessar as APIs usando um URL no formato:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
Normalmente, você não publica suas APIs para clientes com um endereço IP e o número da porta. Em vez disso, defina uma entrada DNS para o roteador e a porta. Exemplo:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
Ao definir a entrada DNS, você também deve criar um host virtual com um alias de host que corresponde ao nome de domínio da entrada DNS. No exemplo acima, você especificaria um alias de host. do myAPI.myCo.com ao criar o host virtual.
Sobre aliases de host e nomes DNS
Uma propriedade definida para um host virtual é o alias do host. O alias do host é normalmente é o nome DNS do host virtual. A forma como você define o alias de host depende do tipo do Instalação da borda: nuvem ou nuvem privada.
Aliases de host e Nomes DNS no Edge para o Cloud
No Edge for the Cloud, quando você cria uma organização de Edge pela primeira vez, a Apigee
cria dois ambientes (test
e prod
), dois hosts virtuais em
cada ambiente (padrão e seguro), e os registros DNS de cada
host virtual.
O alias dos hosts virtuais contém o nome da organização e do ambiente. Portanto, uma solicitação por um host virtual tem o seguinte formato:
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
Normalmente, convém criar hosts virtuais que usem seu nome de domínio, em vez de usar
domínio apigee.net
padrão. Afazeres
Portanto, crie primeiro sua própria entrada DNS e seu registro CNAME.
A figura abaixo mostra uma configuração típica de como o Edge processa uma solicitação de API:
Neste exemplo:
- api.acme.com é o nome de domínio desejado.
- Você define uma entrada DNS e um registro CNAME para apontar api.acme.com para acme-prod.apigee.net.
- A solicitação contém o cabeçalho
Host
que o roteador usa para determinar o host virtual que lida com a solicitação.
Neste exemplo, você especifica as seguintes informações em uma definição de host virtual:
- nome = myvhost
- alias do host = apis.acme.com
- porta: 443
- Ativar acesso TLS
Consulte Como configurar hosts virtuais para a nuvem para mais informações.
Aliases de host e nomes DNS no Edge para nuvem privada
Assim como no Edge for the Cloud, você cria hosts virtuais que usam seu próprio nome de domínio para o host alias. Em seguida, crie sua própria entrada DNS e seu registro CNAME para acessar esses hosts virtuais.
Uma das diferenças entre nuvem e nuvem privada é que, no Cloud Apigee, criados automaticamente para suas organizações, no formato:
- name=default:
http://{org-name}-{env-name}.apigee.net
(porta do roteador 80) - name=secure:
https://{org-name}-{env-name}.apigee.net
(porta do roteador 443)
No Edge para a nuvem privada, você precisa criar as entradas DNS para o endereço IP e a porta do roteador.
Por exemplo, especifique essas informações em uma definição de host virtual:
- nome = myvhost
- alias do host = apis.acme.com
- porta: 9001
- Ativar acesso TLS
A figura abaixo mostra uma configuração típica de como o Edge processa uma solicitação de API:
Neste exemplo:
- api.acme.com é o nome de domínio desejado.
- Você define uma entrada DNS e um registro CNAME para apontar api.acme.com para o IP e a porta do roteador.
- A solicitação contém o cabeçalho
Host
que o roteador usa para determinar o host virtual que lida com a solicitação.
Consulte Como configurar hosts virtuais para a nuvem privada para mais informações.
Aliases de host e caracteres curinga
Você pode incluir o "*" caractere curinga no alias do host. O "*" caractere curinga pode ser apenas no início (antes do primeiro ".") do alias de host e não podem ser misturados com outros caracteres.
Este é um exemplo de um alias de host válido usando um caractere curinga:
*.example.com
Os exemplos a seguir são inválidos:
www.*.example.com w*.example.com
O uso de um caractere curinga em um alias de host virtual permite
Os proxies de API tratam chamadas endereçadas a vários subdomínios, como
alpha.example.com
, beta.example.com
ou
live.example.com
O uso de um alias curinga também ajuda a usar menos
hosts por ambiente para permanecer dentro do product
limites, já que um host virtual com um caractere curinga conta como apenas um host virtual.
O certificado TLS do host virtual precisa ter um caractere curinga correspondente no nome CN do certificado.
Por exemplo, *.example.com
.
Sobre as propriedades do host virtual
No Edge, um host virtual é representado por um objeto XML. Por exemplo, o seguinte objeto XML define um host virtual:
<VirtualHost name="vhostName"> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> <Port>portNumber</Port> <BaseURL>http://myCo.com<</BaseUrl> <OCSPStapling>off</OCSPStapling> <RetryOptions/> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
A lista de propriedades que podem ser definidas depende se você está usando o Edge para o Cloud ou não ou Edge para a nuvem privada. Se você estiver usando o Edge para a nuvem privada, a lista de propriedades disponíveis também dependem da sua versão do Edge. Para obter uma descrição completa de todas as propriedades de um host virtual, consulte Referência da propriedade de host virtual.
Para mais informações sobre como criar hosts virtuais para sua versão específica do Edge, consulte: