Configura proxy di inoltro

I proxy di inoltro forniscono un singolo punto attraverso il quale più macchine inviano richieste a un server esterno. Può applicare criteri di sicurezza, registrare e analizzare le richieste ed eseguire altre azioni in modo che le richieste rispettino le regole aziendali. Con Edge, un proxy di inoltro intermedia in genere i proxy API e un TargetEndpoint esterno (un server di destinazione di backend).

Per utilizzare un proxy di inoltro HTTP tra Edge e TargetEndpoint, devi configurare le impostazioni del proxy in uscita sugli elaboratori dei messaggi (MP). Queste proprietà configurano gli MP per instradare le richieste di destinazione da Edge al proxy di inoltro HTTP.

Per configurare un MP per il proxy di forwarding:

  1. Sul file MP, modifica il seguente file:
    /opt/apigee/customer/application/message-processor.properties

    Se il file message-processor.properties non esiste, crealo.

  2. Modifica il file per impostare le proprietà relative al proxy descritte nella tabella seguente.
  3. Assicurati che il file delle proprietà sia di proprietà dell'utente "Apigee":
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Salva le modifiche apportate al file delle proprietà.
  5. Riavvia il file MP, come illustrato nell'esempio seguente:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

La seguente tabella descrive le proprietà nel file message-processor.properties che utilizzi per configurare un MP per il proxy inoltra a un server di backend:

Proprietà Descrizione
conf_http_HTTPClient.use.proxy

Consente l'utilizzo del proxy in avanti. Il valore predefinito è true, il che significa che puoi utilizzare un proxy di forwarding a livello di proxy API includendo il codice XML pertinente nella configurazione del bundle.

Se imposti questo valore su false, non puoi utilizzare un proxy di inoltro.

conf_http_HTTPClient.use.tunneling

Per impostazione predefinita, Edge utilizza il tunneling per tutto il traffico. Per disabilitare il tunnel per impostazione predefinita, imposta questa proprietà su "false".

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

Imposta l'host e la porta di destinazione come intestazione Host. Per impostazione predefinita, l'host e la porta del proxy sono impostati come intestazioni Host. Puoi impostare questa proprietà solo nell'endpoint di destinazione. Ad esempio:

<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

Specifica il tipo di proxy HTTP come HTTP o HTTPS. Per impostazione predefinita, utilizza il protocollo "HTTP".

conf/http.properties+HTTPClient.proxy.host

Specifica il nome host o l'indirizzo IP su cui è in esecuzione il proxy HTTP.

conf/http.properties+HTTPClient.proxy.port

Specifica la porta sulla quale è in esecuzione il proxy HTTP. Se questa proprietà viene omessa, per impostazione predefinita utilizza la porta 80 per HTTP e la porta 443 per HTTPS.

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

Se il proxy HTTP richiede l'autenticazione di base, utilizza queste proprietà per fornire i dettagli dell'autorizzazione.

Ad esempio:

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 il proxy inoltrato è configurato per MP, tutto il traffico che passa dai proxy API ai target di backend passa attraverso il proxy di inoltro HTTP specificato. Se il traffico per un target specifico di un proxy API deve andare direttamente alla destinazione del backend, ignorando il proxy di forwarding, imposta la seguente proprietà in TargetEndpoint per eseguire l'override del proxy di forwarding HTTP:

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

Per saperne di più sull'impostazione delle proprietà TargetEndpoint, inclusa la configurazione della connessione all'endpoint target, consulta la documentazione sulle proprietà degli endpoint.

Per disattivare il proxy in avanti per tutti i target per impostazione predefinita, imposta la seguente proprietà nel file message-processor.properties:

conf_http_HTTPClient.use.proxy=false

Quindi imposta use.proxy su "true" per ogni TargetTarget che vuoi passare attraverso un proxy di inoltro HTTP:

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

Per impostazione predefinita, Edge utilizza il tunneling per il traffico verso il proxy. Per disabilitare il tunnel per impostazione predefinita, imposta la seguente proprietà nel file message-processor.properties:

conf_http_HTTPClient.use.tunneling=false

Se vuoi disabilitare il tunneling per una destinazione specifica, imposta la proprietà use.proxy.tunneling in TargetEndpoint. Se la destinazione utilizza TLS/SSL, questa proprietà viene ignorata e il messaggio viene sempre inviato tramite un tunnel:

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

Affinché Edge stessa agisca come proxy di inoltro, ovvero ricevere richieste dai servizi di backend e instradarli a Internet al di fuori dell'azienda, configura prima un proxy API su Edge. Il servizio di backend può quindi inviare una richiesta al proxy API, che a sua volta può connettersi ai servizi esterni.