I proxy di inoltro forniscono un unico punto tramite il quale più macchine inviano richieste a un server esterno. Possono applicare le norme di sicurezza, registrare e analizzare le richieste ed eseguire altre azioni in modo che le richieste rispettino le regole aziendali.
Utilizzando un proxy di inoltro in Apigee Hybrid,
puoi intercettare e gestire tutto il traffico in uscita dal tuo cluster Kubernetes. Sono incluse le richieste proxy API agli endpoint di destinazione e la comunicazione con *.googleapis.com che il runtime ibrido esegue per la pipeline di debug e analisi e per criteri come MessageLogging.
Per utilizzare un proxy di inoltro HTTP tra l'ambiente ibrido e TargetEndpoint, devi configurare
le impostazioni del proxy in uscita nel file di override. Queste proprietà con ambito di ambiente
instradano le richieste di destinazione da ibrido al proxy di inoltro HTTP. Devi anche assicurarti che
use.proxy sia impostato su "true" per qualsiasi TargetEndpoint che vuoi passare attraverso un proxy
di inoltro HTTP. Per le istruzioni, vedi la parte inferiore della pagina.
Per configurare un ambiente ibrido per il proxy di inoltro, aggiungi
la proprietà envs.httpProxy al file di override e applicala al cluster. Ad esempio:
envs:
- name: test
httpProxy:
scheme: HTTP
host: 10.12.0.47
port: 3128
...Per informazioni dettagliate su ciascuna delle proprietà di configurazione envs.httpProxy, consulta il
riferimento alle proprietà di configurazione.
Il proxy di inoltro è configurato per un ambiente; tutto il traffico proveniente dai proxy API in quell'ambiente e diretto alle destinazioni di backend passa attraverso il proxy di inoltro HTTP specificato. Se il traffico per una destinazione specifica di un proxy API deve andare direttamente alla destinazione di backend, bypassando il proxy di inoltro, imposta la seguente proprietà in TargetEndpoint per ignorare il proxy di inoltro HTTP:
<Property name="use.proxy">false</Property>
Per ulteriori informazioni sull'impostazione delle proprietà TargetEndpoint, inclusa la configurazione della connessione all'endpoint di destinazione, consulta Riferimento alle proprietà dell'endpoint.
Imposta use.proxy su "true" per qualsiasi TargetEndpoint che vuoi passare
tramite un proxy di inoltro HTTP:
<Property name="use.proxy">true</Property>
Se hai un firewall sul backend configurato per prevedere che l'intestazione host includa sempre il nome host del server backend, mentre il processore di messaggi invia il nome host del server proxy, esegui le seguenti operazioni per configurare questa opzione:
Imposta la proprietà use.proxy.host.header.with.target.uri su true in
TargetEndpoint come mostrato nell'esempio seguente:
Configurazione di esempio di TargetEndpoint:
<TargetEndpoint name="default">
<HTTPTargetConnection>
<URL>https://mocktarget.apigee.net/json</URL>
<Properties>
<Property name="use.proxy.host.header.with.target.uri">true</Property>
</Properties>
</HTTPTargetConnection>
</TargetEndpoint>Per informazioni dettagliate sulla proprietà use.proxy.host.header.with.target.uri, consulta Riferimento alle proprietà dell'endpoint.
Policy AI e proxy di inoltro
I criteri di Model Armor (SanitizeUserPrompt
e SanitizeModelResponse)
e i criteri della cache semantica (SemanticCacheLookup
e SemanticCachePopulate)
effettuano chiamate in uscita durante l'elaborazione di richieste e risposte. Questi includono le chiamate di sanitizzazione di Model Armor e gli embedding di testo di Agent Platform, la ricerca vettoriale findNeighbors e le chiamate upsertDatapoints.
Quando un proxy di inoltro è configurato per l'ambiente con envs.httpProxy, tutte le chiamate precedenti vengono instradate
tramite il proxy di inoltro per impostazione predefinita, senza richiedere
una configurazione a livello di policy. Questo comportamento è valido anche per gli endpoint che non rientrano in
*.googleapis.com, ad esempio l'endpoint pubblico Vector Search
che chiama SemanticCacheLookup.
Queste chiamate di policy a servizi esterni vengono trattate allo stesso modo del traffico di tracciamento e analisi del runtime: l'impostazione di envs[].managementCallsSkipProxy su
true fa sì che ignorino il proxy di inoltro e l'uscita diretta.
L'ignoramento del proxy di inoltro si applica a tutte le chiamate elencate sopra (ovvero
sanificazione, incorporamenti di testo, findNeighbors e upsertDatapoints). Questo comportamento del proxy di inoltro a livello di proxy è separato da un
TargetEndpoint, il cui comportamento del proxy di inoltro è controllato dalla relativa proprietà use.proxy.