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:
- Sul file MP, modifica il seguente file:
/opt/apigee/customer/application/message-processor.properties
Se il file
message-processor.properties
non esiste, crealo. - Modifica il file per impostare le proprietà relative al proxy descritte nella tabella seguente.
- Assicurati che il file delle proprietà sia di proprietà dell'utente "Apigee":
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Salva le modifiche apportate al file delle proprietà.
- 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 è Se imposti questo valore su |
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 <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.