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. Com o Edge, um proxy de encaminhamento geralmente intermedeia os proxies de API e um TargetEndpoint externo (um servidor de destino de back-end).

Para usar um proxy de encaminhamento de HTTP entre o Edge e o TargetEndpoint, defina as configurações do 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 de HTTP.

Para configurar um MP para encaminhamento de proxy:

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

    Se o arquivo message-processor.properties não existir, crie-o.

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

A tabela a seguir descreve as propriedades no arquivo message-processor.properties usado para configurar um MP para o proxy de encaminhamento para um servidor de back-end:

Propriedade Descrição
conf_http_HTTPClient.use.proxy

Permite encaminhar proxy. 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 na 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 tunelamento por padrão, defina essa propriedade como "false".

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

Define o host de destino e a porta como um cabeçalho Host. Por padrão, o host e a porta do proxy são definidos como cabeçalhos Host. Você só pode definir essa propriedade no endpoint de destino. Por 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 de autorização.

Por 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 que vai de proxies de API para destinos de back-end passará pelo proxy de encaminhamento de 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 no seu arquivo message-processor.properties:

conf_http_HTTPClient.use.proxy=false

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

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

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

conf_http_HTTPClient.use.tunneling=false

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

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

Para que o próprio Edge atue como o proxy de encaminhamento, recebendo solicitações dos serviços de back-end e roteando-os para a Internet fora da empresa, primeiro configure um proxy de API no Edge. O serviço de back-end pode fazer uma solicitação ao proxy de API, que se conecta a serviços externos.