Você está lendo a documentação do Apigee Edge.
Acesse a documentação da
Apigee X. info
Representação de host virtual
O objeto XML usado para definir um host virtual é baseado na sua versão do Edge: Cloud ou Private Cloud.
Se você for um cliente da nuvem privada, use o XML correto para sua versão do Edge.
Nuvem e nuvem privada 4.17.01 e versões mais recentes
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<BaseUrl>http://myCo.com</BaseUrl>
<OCSPStapling>offOn</OCSPStapling>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
</Interfaces>
<RetryOptions>
<RetryOption>option</RetryOption>
</RetryOptions>
<ListenOptions>
<ListenOption>option</ListenOption>
</ListenOptions>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
<UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
<PropagateTLSInformation>
<!-- PropagateTLSInformation is Alpha in the Cloud only -->
<ConnectionProperties>trueFalse</ConnectionProperties>
<ClientProperties>trueFalse</ClientProperties>
</PropagateTLSInformation>
<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>
<!-- ssl_protocols is Private Cloud only -->
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>Nuvem privada 4.16.01 a 4.16.09
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Nuvem privada 4.15.07 e versões anteriores
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>keystore</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>truststore</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
<Ciphers>
<Cipher>cipher</Cipher>
<Cipher>cipher</Cipher>
</Ciphers>
<Protocols>
<Protocol>protocol</Protocol>
<Protocol>protocol</Protocol>
</Protocols>
</SSLInfo>
</VirtualHost>Propriedades de configuração do host virtual
A tabela a seguir lista as propriedades usadas para configurar um host virtual:
| Propriedades | Descrição | Padrão | Obrigatório | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VirtualHost |
Especifica o nome do host virtual. Você usa esse nome para referenciar o host virtual ao configurar um proxy de API. Os caracteres que podem ser usados no atributo "name" são restritos a: A-Z0-9._\-$%. |
Nenhum | Sim | ||||||||||||
| Porta |
Especifica o número da porta usada pelo host virtual. Verifique se a porta está aberta no roteador de borda. Se você especificar uma porta em um elemento Para o Cloud: especifique a porta 443 ao criar um host virtual. Se omitido, a porta será definida como 443 por padrão. Se você tiver um host virtual que use uma porta diferente de 443, não será possível mudar a porta. Para versões da nuvem privada de 4.16.01 a 4.17.05:ao criar um host virtual, especifique a porta do roteador usada por ele. Por exemplo, porta 9001. Por padrão, o Router é executado como o usuário "apigee", que não tem acesso a portas privilegiadas, normalmente as portas 1024 e abaixo. Se você quiser criar um host virtual que vincule o roteador a uma porta protegida, configure o roteador para ser executado como um usuário com acesso a essas portas. Consulte Como configurar um host virtual para mais informações. Para versões do Private Cloud anteriores a 4.16.01:um roteador pode detectar apenas uma conexão HTTPS por host virtual, em uma porta específica, com o certificado especificado. Portanto, vários hosts virtuais não podem usar o mesmo número de porta se o término de TLS ocorrer no roteador na porta especificada. |
Nenhum | Sim | ||||||||||||
| BaseUrl | Substitui o URL exibido pela interface do Edge para um proxy de API implantado no host
virtual. É útil quando você tem um balanceador de carga externo na frente dos roteadores de borda. Consulte Como configurar o acesso TLS a uma API para a nuvem privada para mais informações.
O valor de |
Nenhum | Não | ||||||||||||
| OCSPStapling |
Um cliente OCSP (Online Certificate Status Protocol) envia uma solicitação de status a um respondedor OCSP para determinar se o certificado TLS é válido. A resposta indica se o certificado TLS é válido e não foi revogado. Quando ativado, o OCSP stapling permite que o Edge, atuando como o servidor TLS para TLS unidirecional, consulte diretamente o atendente de OCSP e armazene a resposta em cache. Em seguida, o Edge retorna essa resposta ao cliente TLS ou a fixa como parte do handshake de TLS. Consulte Ativar o OCSP Stapling no seu servidor para mais informações. O TLS precisa estar ativado para ativar o OCSP stapling. Defina como |
desativado | Não | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
O nome DNS publicamente visível do host virtual no roteador, que pode incluir o número da porta. A combinação de nome do alias de host e número da porta para o host virtual precisa ser exclusiva para todos os hosts virtuais na instalação do Edge. Isso significa que vários hosts virtuais podem usar o mesmo número de porta se tiverem aliases de host diferentes. Você precisa criar uma entrada DNS e um registro CNAME que correspondam ao alias de host, e o alias de host precisa corresponder à string que o cliente transmite no cabeçalho O número da porta em É possível ter várias definições de É possível incluir o caractere curinga "*" no alias de host. O caractere curinga "*" só pode estar no início (antes do primeiro ".") do alias de host e não pode ser misturado com outros caracteres.
Por exemplo: Para o Cloud: se você tiver um host virtual que usa uma porta diferente de 443, não será possível adicionar ou remover um alias de host. Para nuvem privada:se você estiver definindo o alias de host usando os endereços IP dos seus roteadores, e não entradas DNS, adicione um alias de host separado para cada roteador, especificando o endereço IP de cada roteador e a porta do host virtual. |
Nenhum | Sim | ||||||||||||
| Interfaces | Disponível apenas para o Edge para nuvem privada. | ||||||||||||||
| Interface |
Especifica as interfaces de rede que você quer que Por exemplo, para especificar a vinculação da porta apenas a en0: <Interfaces> <Interface>en0</Interface> </Interfaces> Execute o comando "ifconfig -a" para determinar as interfaces disponíveis no seu sistema. |
Nenhum | Todas as interfaces | ||||||||||||
| RetryOptions | Disponível para o Edge Cloud e para a nuvem privada 4.18.01 e versões mais recentes. | ||||||||||||||
| RetryOption |
Configure como o roteador reage a esse host virtual quando o processador de mensagens fica inativo. É possível especificar vários valores usando
Se você especificar vários valores, o roteador usará um OR lógico para combiná-los. Exemplo: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
| ListenOptions | Disponível para a nuvem privada 4.18.01 e versões mais recentes e para a nuvem do Edge. Basta fazer uma solicitação ao suporte da Apigee Edge. | ||||||||||||||
| ListenOption |
Se você usar um ELB no modo de passagem TCP para processar solicitações aos roteadores de borda,
o roteador vai tratar o endereço IP do ELB como o IP do cliente, em vez do
IP do cliente real. Se o roteador exigir o IP real do cliente,
ative O valor padrão de Exemplo: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Para remover |
||||||||||||||
| SSLInfo | |||||||||||||||
| Ativado |
Ativa o TLS/SSL unidirecional. Você precisa ter definido um keystore que contenha o certificado e a chave privada. Para o Cloud: você precisa ter um certificado assinado por uma entidade confiável, como a Symantec ou a VeriSign. Não é possível usar um certificado autoassinado ou certificados folha assinados por uma CA autoassinada. Para o Cloud: se o host virtual atual estiver configurado para usar uma porta diferente de 443, não será possível mudar a configuração do TLS. Isso significa que não é possível mudar a configuração de TLS de ativada para desativada ou vice-versa. |
falso | Não | ||||||||||||
| ClientAuthEnabled | Ativa o TLS bidirecional ou do cliente entre o Edge (servidor) e o app (cliente) que faz a solicitação. Para ativar o TLS bidirecional, configure um truststore no Edge que contenha o certificado do cliente TLS. | falso | Não | ||||||||||||
| KeyStore |
O nome do keystore no Edge. A Apigee recomenda usar uma referência para especificar o nome do keystore. Assim, você pode mudar o keystore sem precisar reiniciar os roteadores. Consulte Opções para configurar o TLS para mais informações. |
Nenhum | Sim, se "Enabled" for verdadeiro | ||||||||||||
| KeyAlias | O alias especificado quando você fez upload do certificado e da chave privada para o keystore. Você precisa especificar o nome do alias literalmente. Não é possível usar uma referência. Consulte Opções para configurar o TLS para mais informações. | Nenhum | Sim, se "Enabled" for verdadeiro | ||||||||||||
| TrustStore |
O nome do repositório de confiança no Edge que contém o certificado ou a cadeia de certificados
usada para TLS bidirecional. Obrigatório se A Apigee recomenda usar uma referência para especificar o nome do truststore. Assim, você pode mudar o truststore sem precisar reiniciar os roteadores. Consulte Opções para configurar o TLS para mais informações. |
Nenhum | Não | ||||||||||||
| IgnoreValidationErrors |
Se for verdadeiro, especifica que os erros de certificado TLS devem ser ignorados. Isso é semelhante à opção "-k" do cURL. Essa opção é válida ao configurar o TLS para servidores e endpoints de destino, além de configurar hosts virtuais que usam TLS bidirecional. Quando usado com um endpoint de destino/servidor de destino, se o sistema de back-end usar SNI e retornar um certificado com um nome distinto (DN, na sigla em inglês) de assunto que não corresponda ao nome do host, não será possível ignorar o erro e a conexão falha. |
falso | Não | ||||||||||||
| Criptografias |
Somente para o Edge para nuvem privada versão 4.15.07 e anteriores. Especifica as cifras compatíveis com o host virtual. Se nenhuma criptografia for especificada, todas as criptografias disponíveis para a JVM serão permitidas. Para restringir as criptografias, adicione os seguintes elementos: <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
Todos os recursos compatíveis com a JVM | Não | ||||||||||||
| Protocolos |
Somente para o Edge para nuvem privada versão 4.15.07 e anteriores. Especifica os protocolos compatíveis com o host virtual. Se nenhum protocolo for especificado, todos os protocolos disponíveis para a JVM serão permitidos. Para restringir protocolos, adicione os seguintes elementos: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
Todos os recursos compatíveis com a JVM | Não | ||||||||||||
| UseBuiltInFreeTrialCert | Disponível apenas para o Edge Cloud. | ||||||||||||||
| UseBuiltInFreeTrialCert |
Se você tiver uma conta paga do Edge para Cloud e ainda não tiver um certificado e uma chave TLS, crie um host virtual que use o certificado e a chave de avaliação sem custo financeiro da Apigee. Isso significa que você pode criar o host virtual sem primeiro criar um keystore. O certificado de teste sem custo financeiro da Apigee é definido para um domínio de Consulte Definir um host virtual que usa o certificado e a chave de teste sem custo financeiro da Apigee. |
falso | Não | ||||||||||||
| PropagateTLSInformation | Disponível na versão Alfa apenas para o Edge Cloud. | ||||||||||||||
| ConnectionProperties |
Permite que o Edge capture informações de conexão TLS. Essas informações ficam disponíveis como variáveis de fluxo em um proxy de API. Consulte Como acessar informações de conexão TLS em um proxy de API para mais detalhes. |
falso | Não | ||||||||||||
| ClientProperties |
Permite a captura de detalhes do certificado do cliente capturados pelo Edge em TLS bidirecional. Essas informações ficam disponíveis como variáveis de fluxo em um proxy de API. Consulte Como acessar informações de conexão TLS em um proxy de API para mais detalhes. |
falso | Não | ||||||||||||
| Propriedades | Disponível para o Edge Cloud e para a nuvem privada 4.17.01 e versões mais recentes. | ||||||||||||||
| proxy_read_timeout |
Define a duração do tempo limite, em segundos, entre os processadores de mensagens e o roteador. O roteador descarta a conexão e retorna uma resposta HTTP 504 se não receber uma resposta do processador de mensagens antes que esse período expire. O valor de proxy_read_timeout precisa ser maior que o valor de tempo limite de destino usado
pelo processador de mensagens. Isso garante que o roteador não atinja o tempo limite antes que o
processador de mensagens tenha tempo para retornar uma resposta. O tempo limite padrão de destino para o
Processador de mensagens é de 55 segundos, 55.000 milissegundos, conforme definido pelo token
|
57 | Não | ||||||||||||
| keepalive_timeout |
Define a duração do tempo limite, em segundos, entre o cliente e o roteador quando o cliente faz uma solicitação que contém o cabeçalho Keep-Alive. O roteador mantém a conexão aberta até que a duração expire. O roteador não vai fechar a conexão se estiver aguardando uma resposta do processador de mensagens. O tempo limite começa somente depois que o roteador retorna a resposta ao cliente. |
65 | Não | ||||||||||||
| ssl_ciphers |
Define as cifras compatíveis com o host virtual, substituindo as cifras padrão definidas no roteador. Especifique uma lista de criptografias delimitadas por dois-pontos, no formato: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> Para informações sobre a sintaxe e os valores permitidos por esse token, consulte https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Esse token usa os nomes de criptografia do OpenSSL, como AES128-SHA256, e não os nomes de criptografia do Java/JSSE, como TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
Não | ||||||||||||
| ssl_protocols |
Disponível apenas para o Edge para nuvem privada. Define os protocolos TLS compatíveis com o host virtual como uma lista delimitada por espaços, substituindo os protocolos padrão definidos no roteador. Observação: se dois hosts virtuais compartilharem a mesma porta, eles precisarão definir
Especifique uma lista de protocolos TLS delimitada por espaço, no formato: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1 TLSv1.1 TLSv1.2 | Não | ||||||||||||
| proxy_request_buffering |
Ativa (on) ou desativa (off) o buffer do corpo da solicitação. Quando o buffer está ativado, o roteador armazena em buffer todo o corpo da solicitação antes de enviá-lo ao processador de mensagens. Se houver um erro, o roteador poderá tentar outro processador de mensagens. Se estiver desativado, o buffer será desativado e o corpo da solicitação será enviado ao processador de mensagens imediatamente assim que for recebido. Se houver um erro, o roteador não vai tentar enviar a solicitação para outro processador de mensagens. |
ativado | Não | ||||||||||||
| proxy_buffering | Ativa (on) ou desativa (off) o buffer da resposta. Quando o buffer está ativado, o roteador armazena a resposta em buffer. Quando o buffer está desativado, a resposta é transmitida ao cliente de forma síncrona, imediatamente após ser recebida pelo roteador. | ativado | Não | ||||||||||||