Referência da propriedade do host virtual

Esta é a documentação do Apigee Edge.
Acesse Documentação da Apigee X.
informações

Representação de host virtual

O objeto XML usado para definir um host virtual é baseado na sua versão do Edge: Cloud ou nuvem privada.

Se você for um cliente de nuvem privada, use o XML correto para sua versão do Edge.

Nuvem e nuvem privada 4.17.01 e mais recente

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

Private Cloud 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>

Private Cloud 4.15.07 e mais cedo

<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 se referir ao host virtual na hora de configurar um proxy de API.

Os caracteres que você pode usar no atributo de nome estão restritos a: A-Z0-9._\-$%.

Nenhum Sim
Porta

Especifica o número da porta usado pelo host virtual. Confira se a porta está aberta Roteador de borda.

Se você especificar uma porta em um elemento hostalias, o número da porta especificado por <Port> deve corresponder a ele.

Para o Cloud: especifique a porta 443 ao criar um host virtual. Se omitido, por padrão, a porta é definida como 443. Se você já tem um host virtual que usa uma porta diferente da 443, não será possível alterá-la.

Para as versões de nuvem privada de 4.16.01 a 4.17.05:ao criar uma host virtual, especifique a porta do roteador usada por ele. Por exemplo, a porta 9001. Por padrão, o roteador é executado como o usuário "apigee" que não tem acesso a portas privilegiadas, normalmente as portas 1024 e anteriores. Se você quer criar um host virtual que vincula o roteador a uma porta protegida, então é preciso configurar o roteador para ser executado um usuário com acesso a essas portas. Consulte Configurando um host virtual para mais.

Para versões de nuvem privada anteriores à 4.16.01:um roteador pode ouvir somente 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 em caso de encerramento de TLS ocorre no roteador na porta especificada.

Nenhum Sim
BaseUrl Modifica o URL exibido pela interface do Edge para um proxy de API implantado no servidor host. Útil quando você tem um balanceador de carga externo na frente dos roteadores de borda. Consulte Como configurar o TLS acesso a uma API para a nuvem privada.

O valor de BaseUrl precisa incluir o protocolo (por exemplo, "http://" ou "https://").

Nenhum Não
OCSPStapling

Um cliente de Protocolo de Status de Certificado On-line (OCSP, na sigla em inglês) envia um status a uma pessoa que responde ao 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 grampeamento OCSP permite que o Edge, agindo como o servidor TLS para o TLS unidirecional, para consultar diretamente o participante OCSP e armazenar a resposta em cache. Depois, o Edge retorna essa resposta para o cliente TLS ou a adiciona como parte do handshake de TLS. Consulte Ativar o grampeamento de OCSP no seu servidor para saber mais.

O TLS precisa estar ativado para ativar o grampeamento de OCSP. Defina como on para ativar. O valor padrão é off.

desativado Não
HostAliases
HostAlias

O nome DNS visível publicamente do host virtual no roteador, incluindo, opcionalmente, o o número da porta. A combinação de nome de alias de host e número de porta para o host virtual deve ser exclusivo para todos os hosts virtuais na instalação do Edge. Isso significa que várias máquinas virtuais hosts 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 do host e ao nome do host O alias precisa corresponder à string que o cliente transmite no cabeçalho Host.

O número da porta em HostAlias é opcional. Se você especificar a porta como parte do alias do host, você também deve especificar a mesma porta usando o <Port>. Se preferir, especifique dois elementos HostAlias. uma com o número da porta e a outra sem.

É possível ter várias definições de HostAlias. na mesma definição de host virtual, correspondendo a várias entradas de DNS para o host virtual, mas não para várias portas. Se você quiser várias portas, crie várias definições de host virtual com diferentes portas.

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 pode ser misturado com outros caracteres. Por exemplo: *.example.com O certificado TLS do host virtual precisa ter um caractere curinga correspondente no nome CN do certificado. Por exemplo, *.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.

Para o Cloud: se você tem um host virtual atual que usa uma porta de 443, não é possível adicionar ou remover um alias de host.

Para a nuvem privada: se você estiver configurando o alias de host usando o dos roteadores, e não entradas de 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 no Edge para nuvem privada.
Interface

Especifica as interfaces de rede a que você quer que port esteja vinculado. Se você omitir esse elemento, a porta é vinculada em todas as interfaces.

Por exemplo, para especificar a vinculação da porta apenas a en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Determine as interfaces disponíveis no sistema executando o comando "ifconfig -a" kubectl.

Nenhum Todas as interfaces
RetryOptions Disponível para o Edge Cloud, para a nuvem privada 4.18.01 e depois.
RetryOption

Configure como o roteador reage para esse host virtual quando o processador de mensagens entra para baixo.

É possível especificar diversos valores usando <RetryOption>. Valores válidos incluem:

off Desativa a nova tentativa e o host virtual retorna um código de falha mediante uma solicitação.
http_599 (Padrão) Se o roteador receber uma resposta HTTP 599 do servidor O roteador encaminha a solicitação ao próximo processador de mensagens.

HTTP 599 é um código de resposta especial gerado por uma mensagem, do processador quando ele está sendo desligado. O processador de mensagens tenta concluir todas solicitações existentes, mas, para novas solicitações, ele responde com HTTP 599 para sinalizar roteador e repita a solicitação no próximo processador de mensagens.

error Se ocorrer um erro ao estabelecer uma conexão com o processador de mensagens, passando uma solicitação ou lendo o cabeçalho de resposta dele, o roteador encaminha a solicitação para o próximo processador de mensagens.
timeout Se ocorrer um tempo limite ao estabelecer uma conexão com o Processador de Mensagens, passando uma solicitação ou lendo o cabeçalho de resposta dele, o roteador encaminha a solicitação para o próximo processador de mensagens.
invalid_header Se o processador de mensagens retornou uma resposta vazia ou inválida, o roteador encaminha a solicitação para o próximo processador de mensagens.
http_XXX Se o processador de mensagens retornou uma resposta com HTTP código XXX, o roteador encaminha a solicitação para a próxima mensagem Processador

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 (link em inglês) Disponível para a nuvem privada 4.18.01 e posterior e para o Edge Cloud enviando uma solicitação ao suporte do Apigee Edge.
ListenOption

Se você usar um ELB no modo de passagem TCP para processar solicitações aos roteadores de borda, o roteador trata o endereço IP do ELB como o IP do cliente em vez de e o IP do cliente real. Se o roteador exigir o IP do cliente verdadeiro, ativar proxy_protocol no o ELB para passar o IP do cliente no pacote TCP. No roteador, também é preciso definir <ListenOption> no host virtual para proxy_protocol. Como o ELB está no modo de passagem TCP, você normalmente encerra o TLS no roteador. Portanto, normalmente você só configura o host virtual para usar proxy_protocol quando você também o configura para usar TLS.

O valor padrão de <ListenOption> é um valor vazio fio.

Exemplo:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Para cancelar a definição de <ListenOption> mais tarde, atualize o host virtual e omitir a tag <ListenOptions> do atualizar.

SSLInfo
Ativado

Ativa TLS/SSL unidirecional. É preciso ter definido um keystore que contenha o certificado e chave privada.

Para o Cloud: você precisa ter um certificado assinado por uma entidade confiável, como Symantec ou VeriSign. Não é possível usar um certificado autoassinado ou folhas assinados por uma CA autoassinado.

Para o Cloud: se o host virtual atual estiver configurado para usar uma porta diferente da 443, não será possível alterar a configuração de TLS. Isso significa que não é possível alterar a configuração TLS de ativado para desativado ou de desativado para ativado.

falso Não
ClientAuthEnabled Ativa o TLS bidirecional ou de cliente entre o Edge (servidor) e o aplicativo (cliente) que faz a solicitação. A ativação do TLS bidirecional exige que você 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 que você use uma referência para especificar o nome do keystore. pode alterar o keystore sem precisar reiniciar os roteadores. Consulte Opções para configurar o TLS para mais informações.

Nenhum Sim, se "Ativado" for verdadeiro
KeyAlias O alias especificado quando você fez upload do certificado e da chave privada para o keystore. Você deve especificar literalmente o nome do alias; não é possível usar uma referência. Consulte Opções para configurar TLS para mais informações. Nenhum Sim, se "Ativado" for verdadeiro
TrustStore

O nome do truststore no Edge que contém o certificado ou a cadeia de certificados usada para TLS bidirecional. Obrigatório se <ClientAuthEnabled> for verdadeiro.

A Apigee recomenda que você use uma referência para especificar o nome do truststore e pode alterar o truststore sem precisar reiniciar os roteadores. Consulte Opções para configurar o TLS para mais informações.

Nenhum Não
IgnoreValidationErrors

Se verdadeiro, especifica para ignorar erros de certificado TLS. É semelhante ao "-k" opção em cURL.

esta opção é válida ao configurar o TLS para servidores e endpoints de destino. ao 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

Apenas para o Edge para nuvem privada versão 4.15.07 e anteriores.

Especifica as criptografias aceitas pelo host virtual. Se nenhuma criptografia for especificada, todas as criptografias disponíveis para a JVM serão permitidas.

Para restringir 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 com suporte da JVM Não
Protocolos

Apenas 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 com suporte da 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, criar um host virtual que use a chave e o certificado de teste sem custo financeiro da Apigee. Isso significa que você pode criar com o host virtual sem criar um keystore primeiro.

O certificado de teste sem custo financeiro da Apigee é definido para um domínio de *.apigee.net. Portanto, a <HostAlias> do host virtual também precisa estar no formato *.apigee.net.

Consulte Como definir um host virtual que usa a chave e o certificado de teste sem custo financeiro da Apigee.

falso Não
PropagateTLSInformation Disponível em versão Alfa apenas para o Edge Cloud.
ConnectionProperties

Ativa a captura de informações de conexão TLS pelo Edge. Essas informações são disponibilizadas 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 saber mais.

falso Não
ClientProperties

Ativa a captura de detalhes do certificado do cliente capturados pelo Edge em TLS bidirecional. Essas informações são disponibilizadas 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 saber mais.

falso Não
Propriedades Disponível para o Edge Cloud, para a nuvem privada 4.17.01 e depois.
proxy_read_timeout

Define a duração do tempo limite, em segundos, entre os processadores de mensagens e o roteador. A O roteador elimina 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 O processador de mensagens teve tempo de retornar uma resposta. O tempo limite padrão do de mensagem tenha 55 segundos e 55.000 milissegundos, conforme definido pelo Token conf_http_HTTPTransport.io.timeout.millis para a mensagem Processador

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 o período expire.

O roteador não encerrará 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 criptografias aceitas pelo host virtual, substituindo as criptografias padrão definidas no ao 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. Observe que esse token usa os nomes de criptografia OpenSSL, como AES128-SHA256, e não o Nomes de criptografia Java/JSSE, como TLS_RSA_WITH_AES_128_CBC_SHA256.

ALTO:!aNULL:

!MD5:

!DH+3DES:

!kEDH

Não
ssl_protocols

Disponível apenas no Edge para nuvem privada.

Define os protocolos TLS compatíveis com o host virtual, como uma lista delimitada por espaço. substituindo os protocolos padrão definidos no roteador.

Observação: se dois hosts virtuais compartilharem a mesma porta, eles precisarão ser configurados ssl_protocols aos mesmos protocolos. Os hosts virtuais que compartilham a mesma porta precisam oferecem suporte aos mesmos protocolos.

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 (ativa) ou desativa (desativa) o armazenamento em buffer do corpo da solicitação. Quando o armazenamento em buffer está ativado, O roteador armazena em buffer todo o corpo da solicitação antes de enviá-la ao processador de mensagens. Se se ocorrer um erro, o roteador poderá tentar usar outro processador de mensagens.

Se estiver desativado, o armazenamento em buffer será desativado e o corpo da solicitação será enviado ao processador de mensagens assim que ele é recebido. Se ocorrer um erro, o roteador não tentará de novo solicitação a outro processador de mensagens.

ativado Não
proxy_buffering Ativa (ativa) ou desativa (desativa) o armazenamento em buffer da resposta. Quando o armazenamento em buffer está ativado, O roteador armazena a resposta em buffer. Quando o armazenamento em buffer está desativado, a resposta é passada para o cliente de forma síncrona, assim que forem recebidas pelo roteador. ativado Não