Configurar proxy de encaminhamento

Os proxies de encaminhamento fornecem um único ponto em que várias máquinas enviam solicitações para um servidor externo. Eles podem aplicar políticas de segurança, registrar e analisar solicitações, e executar outras ações para que as solicitações sigam as regras comerciais. No Edge, um proxy de encaminhamento normalmente Intermedia seus proxies de API e um TargetEndpoint externo (um servidor de destino de back-end).

Para usar um proxy de encaminhamento HTTP entre o Edge e o TargetEndpoint, configure as configurações de proxy de saída nos processadores de mensagens (MPs, na sigla em inglês). Essas propriedades configuram os MPs para encaminhar solicitações de destino do Edge para o proxy de encaminhamento HTTP.

Para configurar um MP para encaminhamento de proxy:

  1. No MP, edite o seguinte arquivo:
    /opt/apigee/customer/application/message-processor.properties

    Crie o arquivo message-processor.properties se ele não existir.

  2. Edite o arquivo para definir as propriedades relacionadas ao proxy descritas na tabela abaixo.
  3. Verifique se o arquivo de propriedades é de propriedade da Apigee usuário:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Salve as mudanças no arquivo de propriedades.
  5. Reinicie o MP, conforme o exemplo a seguir:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

A tabela a seguir descreve as propriedades no message-processor.properties que você usa para configurar um MP para encaminhamento de proxy para um servidor de back-end:

Propriedade Descrição
conf_http_HTTPClient.use.proxy

Permite o uso de proxy de encaminhamento. O valor padrão é true, o que significa que você pode usar um proxy de encaminhamento na camada de proxy de API incluindo o XML relevante no seu configuração do pacote.

Se você definir esse valor como false, não será possível usar um proxy de encaminhamento.

conf_http_HTTPClient.use.tunneling

Por padrão, o Edge usa o tunelamento para todo o tráfego. Para desativar o encapsulamento por padrão, defina essa propriedade como "false".

use.proxy.host.header.with.target.uri

Define o host e a porta de destino como um cabeçalho Host. Por padrão, o proxy host e porta são definidos como cabeçalhos Host. Você só pode definir essa propriedade no Endpoint de destino. Exemplo:

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>
conf/http.properties+HTTPClient.proxy.type

Especifica o tipo do proxy HTTP como HTTP ou HTTPS. Por padrão, ele usa "HTTP".

conf/http.properties+HTTPClient.proxy.host

Especifica o nome de host ou o endereço IP em que o proxy HTTP está em execução.

conf/http.properties+HTTPClient.proxy.port

Especifica a porta na qual o proxy HTTP está em execução. Se esta propriedade for omitida, por padrão, ela usará a porta 80 para HTTP e a porta 443 para HTTPS.

conf/http.properties+HTTPClient.proxy.user
conf/http.properties+HTTPClient.proxy.password

Se o proxy HTTP exigir autenticação básica, use essas propriedades para fornecer detalhes da autorização.

Exemplo:

conf_http_HTTPClient.use.proxy=true
conf_http_HTTPClient.use.tunneling=false
conf/http.properties+HTTPClient.proxy.type=HTTP
conf/http.properties+HTTPClient.proxy.host=my.host.com
conf/http.properties+HTTPClient.proxy.port=3128
conf/http.properties+HTTPClient.proxy.user=USERNAME
conf/http.properties+HTTPClient.proxy.password=PASSWORD

Se o proxy de encaminhamento estiver configurado para o MP, todo o tráfego proveniente da API proxies para destinos de back-end passam pelo proxy de encaminhamento HTTP especificado. Se o tráfego para um destino específico de um proxy de API precisa ir diretamente para o destino do back-end, ignorando o proxy de encaminhamento, defina a seguinte propriedade no TargetEndpoint para modificar o proxy de encaminhamento HTTP:

<Property name="use.proxy">false</Property>

Para mais informações sobre como configurar as propriedades do TargetEndpoint, incluindo como configurar a conexão com o endpoint de destino, consulte Referência de propriedades do endpoint.

Para desativar o proxy de encaminhamento para todos os destinos por padrão, defina a seguinte propriedade em seu Arquivo message-processor.properties:

conf_http_HTTPClient.use.proxy=false

Em seguida, defina use.proxy como "true" para qualquer TargetEndpoint que você quer passar um proxy de encaminhamento HTTP:

<Property name="use.proxy">true</Property>

Por padrão, o Edge usa o tunelamento para o tráfego para o proxy. Para desativar o encapsulamento por padrão, defina a seguinte propriedade no arquivo message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

Se quiser desativar o encapsulamento para um destino específico, defina o use.proxy.tunneling no TargetEndpoint. Se o destino usar TLS/SSL, essa propriedade será ignorada e a mensagem será sempre enviada por um túnel:

<Property name="use.proxy.tunneling">false</Property>

Para o próprio Edge atuar como o proxy de encaminhamento, recebendo solicitações dos serviços de back-end e e roteá-los para a Internet fora da empresa. Primeiro, configure um proxy de API no Edge. A o serviço de back-end poderá fazer uma solicitação ao proxy de API, que poderá se conectar a serviços.