Edge per Private Cloud v. 4.17.01
Un host virtuale su Edge definisce i domini e le porte del router Edge su cui viene utilizzato un proxy API esposto e, di conseguenza, l'URL utilizzato dalle app per accedere a un proxy API. Un host virtuale definisce se si accede al proxy API mediante il protocollo HTTP o il protocollo HTTPS criptato protocollo.
Nell'ambito del processo di onboarding di Edge, devi creare un'organizzazione, un ambiente l'host virtuale. Edge fornisce il comando setup-org per semplifica l'operazione per i nuovi utenti.
Quando crei l'host virtuale, devi specificare le seguenti informazioni:
- Il nome dell'host virtuale che utilizzi per farvi riferimento nell'API proxy.
- La porta sul router per l'host virtuale. Di solito queste porte iniziano da 9001 e incrementano di uno per ogni nuovo host virtuale.
- L'alias host dell'host virtuale. In genere il nome DNS l'host virtuale.
Il router perimetrale confronta l'intestazione Host del richiesta in entrata all'elenco di alias host disponibili come parte della determinazione del proxy API che gestisce la richiesta. Quando effettui una richiesta tramite un host virtuale, specifica un nome di dominio che corrisponde all'alias host di un host virtuale oppure specifica l'indirizzo IP del router e l'intestazione Host contenente l'alias host.
Ad esempio, se hai creato un host virtuale con un alias host di myapis.apigee.net sulla porta 9001, una richiesta cURL a un'API attraverso l'host virtuale potrebbe utilizzare uno dei seguenti moduli:
- Se hai una voce DNS per myapis.apigee.net:
curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path} - Se non hai una voce DNS per myapis.apigee.net:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'
In questo modulo, specifichi l'IP del router e passa l'alias host nell'intestazione Host.
Nota: automaticamente il comando curl, la maggior parte dei browser e molte altre utilità aggiungi l'intestazione Host con il dominio come parte della richiesta, quindi puoi utilizzare comando nel formato:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Opzioni disponibili quando non disponi di un DNS voce per l'host virtuale
Se non disponi di una voce DNS, un'opzione consiste nell'impostare l'alias host sull'indirizzo IP del Router e porta dell'host virtuale, come <routerIP>:port. Per esempio:
192.168.1.31:9001
Quindi, esegui un comando curl nel formato seguente:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
Questa opzione è preferita perché funziona bene con la UI Edge.
Se disponi di più router, aggiungi un alias host per ciascun router, specificando l'indirizzo IP su ciascun router e sulla porta dell'host virtuale.
In alternativa, puoi impostare l'alias host su un valore, ad esempio come temp.hostalias.com. Poi devi passare l'intestazione Host su ogni richiesta:
curl -v http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'host: temp.hostalias.com'
In alternativa, aggiungi l'alias host al file /etc/hosts. Ad esempio, aggiungi questa riga a /etc/hosts:
192.168.1.31 temp.hostalias.com
Quindi puoi effettuare una richiesta come se avessi una voce DNS:
curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
Utilizzo di una porta protetta in un host virtuale
Se si desidera creare un host virtuale che leghi il router a una porta protetta, come inferiori a 1024, occorre configurare il router in modo che funzioni come utente con accesso quelle porte. Per impostazione predefinita, il router funziona come l'utente "apigee" che non ha accesso porte con privilegi.
Per eseguire il router come utente diverso:
- Come root, crea il file /opt/apigee/etc/edge-router.d/RUN_USER.sh.
- Aggiungi la seguente voce al file:
RUN_USER=root
Se non desideri eseguire il router come root, specifica un utente con accesso alla porta. - Salva il file.
- Se hai specificato un utente diverso dall'utente root, modifica il proprietario del file impostandolo su questo utente:
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - Riavvia il router:
> /opt/apigee/apigee-service/bin/apigee-service edge-router