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:
- No MP, edite o seguinte arquivo:
/opt/apigee/customer/application/message-processor.properties
Se o arquivo
message-processor.properties
não existir, crie-o. - Edite o arquivo para definir as propriedades relacionadas ao proxy descritas na tabela abaixo.
- Verifique se o arquivo de propriedades pertence ao usuário "apigee":
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Salve as alterações no arquivo de propriedades.
- 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 é Se você definir esse valor como |
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 <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.