Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Un proxy API funziona come un mapping di un endpoint disponibile pubblicamente al tuo servizio di backend. Un host virtuale definisce il modo in cui il proxy API pubblico viene esposto a un'app. Ad esempio, l'host virtuale determina se è possibile accedere al proxy API utilizzando TLS. Quando configuri un proxy API, modifica la definizione di ProxyEndpoint per configurare gli host virtuali che utilizza.
TargetEndpoint è l'equivalente in uscita di ProxyEndpoint. Un TargetEndpoint funziona come un client HTTP da Edge a un servizio di backend. Quando crei un proxy API, puoi configurare in modo che utilizzi zero o più TargetEndpoint.
Scopri di più:
- Informazioni su TLS/SSL
- Utilizzo di TLS con Edge
- Informazioni sugli host virtuali
- Archivi chiavi e archivi attendibilità
- Riferimento per la configurazione dei proxy API
Configurazione di un TargetEndpoint o TargetServer
Per configurare un TargetEndpoint, modifica l'oggetto XML che lo definisce. Puoi modificare TargetEndpoint modificando il file XML che lo definisce nel proxy API o nell'interfaccia utente di gestione di Edge.
Per utilizzare l'interfaccia utente di gestione di Edge per modificare TargetEndpoint:
- Accedi all'interfaccia utente di gestione di Edge all'indirizzo https://enterprise.apigee.com.
- Seleziona il nome del proxy API da aggiornare.
- Seleziona la scheda Sviluppa.
- In Endpoint di destinazione, seleziona default.
- Nell'area del codice viene visualizzata la definizione di TargetEndpoint, simile a quella riportata di seguito:
<TargetEndpoint name="default"> <Description/> <FaultRules/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <HTTPTargetConnection> <Properties/> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://mocktarget.apigee.net</URL> </HTTPTargetConnection> </TargetEndpoint> - Configura un archivio attendibilità come descritto di seguito in Informazioni sulla configurazione di TLS con il backend.
- Apporta le modifiche e salva il proxy. Se il proxy API è stato sottoposto a deployment, il salvataggio ne esegue nuovamente il deployment con la nuova impostazione.
Tieni presente che la definizione di TargetEndpoint contiene una proprietà name. Utilizza il valore di
the name property
per configurare la definizione di ProxyEndpoint di un proxy API in modo che utilizzi the
TargetEndpoint.
Per saperne di più, consulta Riferimento per la configurazione dei proxy API.
È possibile configurare TargetEndpoint in modo che faccia riferimento a un TargetServer anziché all'URL di destinazione esplicito. Una configurazione di TargetServer disaccoppia gli URL degli endpoint concreti da configurazioni di TargetEndpoint. I TargetServer vengono utilizzati per supportare il bilanciamento del carico e il failover su più istanze del server di backend.
Di seguito è riportato un esempio di definizione di TargetServer:
<TargetServer name="target1"> <Host>mocktarget.apigee.net</Host> <Port>80</Port> <IsEnabled>true</IsEnabled> </TargetServer>
Un TargetServer viene fatto riferimento per nome nell'elemento <HTTPTargetConnection>
in una definizione di TargetEndpoint.
Puoi configurare uno o più TargetServer denominati, come mostrato di seguito.
<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<LoadBalancer>
<Server name="target1" />
<Server name="target2" />
</LoadBalancer>
<Path>/test</Path>
</HTTPTargetConnection>
...
</TargetEndpoint>Per saperne di più, consulta Bilanciamento del carico tra server di backend.
Informazioni sulla configurazione di TLS con il backend
Prima di configurare l'accesso TLS al backend, devi comprendere due punti importanti punti:
- Per impostazione predefinita, Edge non convalida il certificato di backend. Devi creare un archivio attendibilità per configurare Edge in modo che convalidi il certificato.
- Utilizza un riferimento per specificare l'archivio chiavi o l'archivio attendibilità utilizzato da Edge.
Entrambe le considerazioni sono descritte di seguito.
Definizione di un archivio attendibilità per abilitare la convalida del certificato
Quando effettua una richiesta TLS tramite un TargetEndpoint o un TargetServer, Edge non convalida per impostazione predefinita il certificato TLS ricevuto dal server di backend. Ciò significa che Edge non convalida che:
- Il certificato è stato firmato da una CA attendibile.
- Il certificato non è scaduto.
- Il certificato presenta un nome comune. Se è presente un nome comune, Edge non convalida che il nome comune corrisponda al nome host specificato nell'URL.
Per configurare Edge in modo che convalidi il certificato di backend, devi:
- Crea un archivio attendibilità su Edge.
- Carica il certificato o la catena di certificati del server nell'archivio attendibilità. Se il certificato del server è firmato da una terza parte, dovrai caricare la catena di certificati completa, incluso il certificato CA radice, nell'archivio attendibilità. Non esistono CA attendibili in modo implicito.
- Aggiungi l'archivio attendibilità alla definizione di TargetEndpoint o TargetServer.
Per saperne di più, consulta Archivi chiavi e archivi attendibilità.
Ad esempio:
<TargetEndpoint name="default">
…
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
<TrustStore>ref://myTrustStoreRef</TrustStore>
</SSLInfo>
<URL>https://myservice.com</URL>
</HTTPTargetConnection>
…
</TargetEndpoint>Utilizzo di un riferimento a un archivio chiavi o a un archivio attendibilità
L'esempio seguente mostra come configurare un TargetEndpoint o un TargetServer per supportare TLS. Nell'ambito della configurazione di TLS, devi specificare un archivio attendibilità e un archivio chiavi come parte di una TargetEndpoint o TargetServer definition.
Apigee consiglia vivamente di utilizzare un riferimento all'archivio chiavi e all'archivio attendibilità nella definizione di TargetEndpoint o TargetServer. Il vantaggio di utilizzare un riferimento è che devi solo aggiornare il riferimento in modo che punti a un archivio chiavi o a un archivio attendibilità diverso per aggiornare il certificato TLS.
I riferimenti agli archivi chiavi e agli archivi attendibilità nella definizione di TargetEndpoint o TargetServer funzionano allo stesso modo degli host virtuali.
Conversione di un TargetEndpoint o di un TargetServer per l'utilizzo di un riferimento
Potresti avere definizioni di TargetEndpoint o TargetServer esistenti che utilizzano il nome letterale dell'archivio chiavi e dell'archivio attendibilità. Per convertire la definizione di TargetEndpoint o TargetServer in modo che utilizzi i riferimenti:
- Aggiorna la definizione di TargetEndpoint o TargetServer in modo che utilizzi un riferimento.
- Riavvia i processori di messaggi Edge:
- Per i clienti di Cloud pubblico, contatta l'assistenza Apigee Edge per riavviare i processori di messaggi.
- Per i clienti di Cloud privato, riavvia i processori di messaggi Edge uno alla volta.
- Verifica che TargetEndpoint o TargetServer funzioni correttamente.
Configurazione di TLS unidirezionale sul server di backend
Quando utilizzi una definizione di TargetEndpoint, la configurazione dell'accesso TLS unidirezionale da Edge (client TLS) al server di backend (server TLS) non richiede alcuna configurazione aggiuntiva su Edge. È il server di backend a dover configurare correttamente TLS.
Devi solo assicurarti che l'elemento <URL> nella
definizione di TargetEndpoint faccia riferimento al servizio di backend tramite il protocollo HTTPS e che tu
abbia abilitato TLS:
<TargetEndpoint name="default">
…
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
</SSLInfo>
<URL>https://myservice.com</URL>
</HTTPTargetConnection>
…
</TargetEndpoint>Se utilizzi un TargetServer per definire il servizio di backend, abilita TLS nella definizione di TargetServer:
<TargetServer name="target1">
<Host>mocktarget.apigee.net</Host>
<Port>443</Port>
<IsEnabled>true</IsEnabled>
<SSLInfo>
<Enabled>true</Enabled>
</SSLInfo>
</TargetServer> Tuttavia, se vuoi che Edge convalidi il certificato di backend, devi creare un archivio attendibilità che contenga il certificato o la catena di certificati di backend. Poi, specifica l'archivio attendibilità in the definizione di TargetEndpoint:
<TargetEndpoint name="default">
…
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
<TrustStore>ref://myTrustStoreRef</TrustStore>
</SSLInfo>
<URL>https://myservice.com</URL>
</HTTPTargetConnection>
…
</TargetEndpoint>Oppure nella definizione di TargetServer:
<TargetServer name="target1">
<Host>mockserver.apigee.net</Host>
<Port>443</Port>
<IsEnabled>true</IsEnabled>
<SSLInfo>
<Enabled>true</Enabled>
<TrustStore>ref://myTrustStoreRef</TrustStore>
</SSLInfo>
</TargetServer>Per configurare TLS unidirezionale:
- Se vuoi convalidare il certificato di backend, crea un archivio attendibilità su Edge e carica il certificato di backend o la catena di CA, come descritto in Archivi chiavi e archivi attendibilità. Per questo esempio, se devi creare un archivio attendibilità, chiamalo myTrustStore.
-
Se hai creato un archivio attendibilità, utilizza la seguente chiamata API POST per creare il riferimento denominato myTrustStoreRef all'archivio attendibilità che hai creato sopra:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password - Utilizza l'interfaccia utente di gestione di Edge per aggiornare la definizione di TargetEndpoint per il proxy API (o,
se definisci il proxy API in XML, modifica i file XML per il proxy):
- Accedi all'interfaccia utente di gestione di Edge all'indirizzo https://enterprise.apigee.com.
- Nel menu dell'interfaccia utente di gestione di Edge, seleziona API.
- Seleziona il nome del proxy API da aggiornare.
- Seleziona la scheda Sviluppo.
- In Endpoint di destinazione, seleziona default.
- Nell'area del codice, modifica l'elemento
<HTTPTargetConnection>per aggiungere l'elemento<SSLInfo>. Assicurati di specificare il riferimento all'archivio attendibilità corretto e di impostare<Enabled>su true:<TargetEndpoint name="default"> … <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <TrustStore>ref://myTrustStoreRef</TrustStore> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> … </TargetEndpoint> - Salva il proxy API. Se il proxy API è stato sottoposto a deployment, il salvataggio ne esegue nuovamente il deployment con la nuova impostazione.
Configurazione di TLS bidirezionale sul server di backend
Se vuoi supportare TLS bidirezionale tra Edge (client TLS) e il server di backend (server server):
- Crea un archivio chiavi su Edge e carica il certificato e la chiave privata di Edge.
- Se vuoi convalidare il certificato di backend, crea un archivio attendibilità su Edge che contenga il certificato e la catena di CA che hai ricevuto dal server di backend.
- Aggiorna TargetEndpoint di tutti i proxy API che fanno riferimento al server di backend per configurare l'accesso TLS.
Utilizzo dell'alias della chiave per specificare il certificato dell'archivio chiavi
Puoi definire più certificati, ognuno con il proprio alias, nello stesso archivio chiavi. Per impostazione predefinita, Edge utilizza il primo certificato definito nell'archivio chiavi.
Facoltativamente, puoi configurare Edge in modo che utilizzi il certificato specificato dalla proprietà <KeyAlias>.
In questo modo puoi definire un singolo archivio chiavi per più certificati, quindi
selezionare quello che vuoi utilizzare nella definizione di TargetServer. Se Edge non riesce a trovare un certificato con un alias
che corrisponde a <KeyAlias>, utilizza l'azione predefinita di selezione del
primo certificato nell'archivio chiavi.
Gli utenti di Edge per Cloud pubblico devono contattare l'assistenza Apigee Edge per abilitare questa funzionalità.
Configurazione di TLS bidirezionale
Per configurare TLS bidirezionale:
- Crea l'archivio chiavi su Edge e carica il certificato e la chiave privata utilizzando la procedura descritta qui: Archivi chiavi e archivi attendibilità. Per questo esempio, crea un archivio chiavi denominato myTestKeystore che utilizza un nome alias myKey per il certificato e la chiave privata.
-
Utilizza la seguente chiamata API POST per creare il riferimento denominato myKeyStoreRef all'archivio chiavi che hai creato sopra:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myKeyStoreRef"> <Refers>myTestKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:passwordIl riferimento specifica il nome dell'archivio chiavi e il tipo di riferimento come
KeyStore.Utilizza la seguente chiamata API GET per visualizzare il riferimento:
curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef / -u email:password - Se vuoi convalidare il certificato di backend, crea un archivio attendibilità su Edge e carica il certificato e la catena di CA come descritto qui: Archivi chiavi e archivi attendibilità. Per questo esempio, se devi creare un archivio attendibilità, chiamalo myTrustStore.
-
Se hai creato un archivio attendibilità, utilizza la seguente chiamata API POST per creare il riferimento denominato myTrustStoreRef all'archivio attendibilità che hai creato sopra:
curl -X POST -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \ -d '<ResourceReference name="myTrustStoreRef"> <Refers>myTrustKeystore</Refers> <ResourceType>KeyStore</ResourceType> </ResourceReference>' -u email:password - Utilizza l'interfaccia utente di gestione di Edge per aggiornare la definizione di TargetEndpoint per il proxy API (o,
se definisci il proxy API in XML, modifica i file XML per il proxy):
- Accedi all'interfaccia utente di gestione di Edge all'indirizzo https://enterprise.apigee.com.
- Nel menu dell'interfaccia utente di gestione di Edge, seleziona API.
- Seleziona il nome del proxy API da aggiornare.
- Seleziona la scheda Sviluppo.
- In Endpoint di destinazione, seleziona default.
- Nell'area del codice, modifica l'elemento
<HTTPTargetConnection>per aggiungere l'elemento<SSLInfo>. Assicurati di specificare l'archivio chiavi e l'alias della chiave corretti e di impostare entrambi gli elementi<Enabled>e<ClientAuthEnabled>su true:<TargetEndpoint name="default"> ... <HTTPTargetConnection> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeyStoreRef</KeyStore> <KeyAlias>myKey</KeyAlias> </SSLInfo> <URL>https://myservice.com</URL> </HTTPTargetConnection> ... </TargetEndpoint> - Salva il proxy API. Se il proxy API è stato sottoposto a deployment, il salvataggio ne esegue nuovamente il deployment con la nuova impostazione.
Per saperne di più sulle opzioni disponibili in <TargetEndpoint>, incluso l'utilizzo di variabili
per fornire i valori di TargetEndpoint <SSLInfo>, consulta Riferimento per la configurazione dei proxy API.
Abilitazione di SNI
Edge supporta l'utilizzo di SNI (Server Name Indication) dai processori di messaggi agli endpoint di destinazione nei deployment di Apigee Edge per Cloud e per Cloud privato.
Per Edge per Cloud privato, per garantire la compatibilità con le versioni precedenti dei backend di destinazione esistenti, Apigee ha disabilitato SNI per impostazione predefinita. Se il backend di destinazione è configurato per supportare SNI, puoi abilitare questa funzionalità. Per saperne di più, consulta Utilizzo di SNI con Edge.