Configurazione degli host virtuali per il cloud privato

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

In un'installazione on-premise, hai il controllo completo sugli host virtuali. Puoi creare host virtuali per qualsiasi organizzazione, in qualsiasi ambiente, che utilizzi o meno TLS.

Questo documento descrive come creare un host virtuale semplice. vale a dire che non e supportare TLS. Per altri esempi, inclusi quelli sulla creazione di host virtuali che supportano TLS, consulta Configurazione di TLS a un'API per il cloud privato.

Scopri di più:

Informazioni sugli alias host

Quando crei l'host virtuale, devi specificare l'alias host dell'host virtuale. In genere si tratta del nome DNS dell'host virtuale.

Il router perimetrale confronta l'intestazione Host della richiesta in entrata con il elenco di alias host disponibili per determinare il proxy API che gestisce la richiesta. Quando effettui una richiesta tramite un host virtuale, specifica un nome di dominio che corrisponda all'host alias di un host virtuale o 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, quindi una richiesta cURL a un'API tramite 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'indirizzo IP del router e passi l'alias host nella Intestazione Host.

    curl http://routerIP:9001/proxy-base-path/resource-path

Opzioni disponibili non esiste una voce DNS 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. Ad esempio:

192.168.1.31:9001

Quando esegui un comando curl nel modulo 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 temp.hostalias.com. Quindi, devi passare l'intestazione Host per 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

Informazioni sulle porte host virtuali su Edge per Private Cloud 4.16.01 e versioni successive

Quando crei un host virtuale, specifichi la porta del router utilizzata dall'host virtuale. Per ad esempio la porta 9001.

Per Apigee per il cloud privato release 4.16.01 e successive, per impostazione predefinita, il router viene eseguito dell'utente "apigee" che non ha accesso alle porte con privilegi, in genere le porte 1024 e precedenti. Se devi creare un host virtuale che leghi il router a una porta protetta, configurare il router in modo che funzioni come utente con accesso a quelle porte. Per saperne di più, consulta Configurare un host virtuale.

Crea host virtuali

Questa sezione descrive come creare host virtuali per Apigee Edge per il cloud privato. Tieni presente che per creare un nuovo host virtuale, devi essere un amministratore dell'organizzazione.

Puoi creare host virtuali per Apigee Edge per il cloud privato utilizzando l'API o la UI Edge. Si tratta di descritti nelle sezioni seguenti.

Crea un host virtuale utilizzando un browser

Questa sezione descrive come creare un host virtuale utilizzando un browser (solo UI Edge).

Per creare un nuovo host virtuale nella UI di Edge:

  1. Accedi all'interfaccia utente di gestione perimetrale.
  2. Seleziona Amministratore > Host virtuali.
  3. Seleziona l'ambiente dall'elenco a discesa.

    Edge visualizza un elenco di host virtuali per quell'ambiente.

  4. Per creare un nuovo host virtuale, seleziona + Host virtuale.

    Edge mostra il modulo Crea host virtuale.

    Puoi anche fare clic sul nome di un host virtuale esistente per modificarlo.

  5. Definisci il nuovo host virtuale. Tieni presente che il campo URL di base deve includere il prefisso (ad esempio, aggiungi "http://" o "https://" al valore del campo)

    Inoltre, tieni presente che:

    • Non esiste un limite al numero di host virtuali che puoi creare
    • TLS è facoltativo e può essere la versione 1.0, 1.1 o 1.2
    • La porta dell'host virtuale è configurabile
  6. Fai clic sul pulsante Crea per salvare il nuovo host virtuale.

Crea un host virtuale con l'API

Per creare un host virtuale con l'API, crea un oggetto XML che definisca l'host virtuale. Ad esempio, il seguente oggetto XML definisce un host virtuale che utilizza il protocollo protocollo:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Tieni presente che l'host virtuale contiene una proprietà name. Devi utilizzare il valore name per configurare un proxy API per l'utilizzo dell'host virtuale.

Potrai quindi accedere a un proxy API attraverso questo host virtuale effettuando una richiesta a:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

Dove:

  • http o https: se l'host virtuale è configurato per supportare TLS, utilizzare HTTPS. Se l'host virtuale non supporta TLS, utilizza HTTP.
  • routerIP:port è l'indirizzo IP e il numero di porta dell'host virtuale.
  • proxy-base-path e resource-path sono definiti quando crei proxy API.

In genere, le API non vengono pubblicate per i clienti con un indirizzo IP e un numero di porta. Dovrai invece definire una voce DNS per il router e la porta. Ad esempio:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Se definisci la voce DNS, devi creare un alias host per l'host virtuale che corrisponde al nome di dominio della voce DNS. L'alias host deve corrispondere alla stringa il client passa nell'intestazione Host. Nell'esempio precedente, specificheresti un alias host di api.myCompany.com.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

Per creare un host virtuale che utilizzi il protocollo HTTP, segui questi passaggi:

  1. Crea l'host virtuale utilizzando Crea un l'API Virtual Host, dove ms-IP è l'indirizzo IP o il nome di dominio del nodo del server di gestione:
    $ curl -X POST -H "Content-Type:application/xml" \
    http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
    -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9005</Port>
      </VirtualHost>' \
    -u sysAdminEmail:password
    
  2. Crea il record DNS per l'host virtuale che corrisponde all'alias host.
  3. Se disponi di proxy API, aggiungi l'host virtuale all'elemento <HTTPConnection> nel proxy endpoint. L'host virtuale viene aggiunto automaticamente a tutti i nuovi proxy API. Vedi Configurazione di un proxy API per l'utilizzo di un host virtuale.

Modifica di un host virtuale

di Gemini Advanced.

Per modificare un host virtuale, esegui queste operazioni:

  1. Aggiorna l'host virtuale utilizzando il metodo Aggiorna un'API Virtual Host, dove <ms-IP> è l'indirizzo IP o nome di dominio del nodo del server di gestione. Devi specificare la definizione completa host virtuale nel corpo della richiesta, non solo gli elementi da modificare. In questo Ad esempio, modifichi il numero di porta dell'host virtuale da 9008 a 9009:

    curl -X PUT -H "Content-Type:application/xml" \
      http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
      -d '<VirtualHost name="newVHost">
        <HostAliases>
          <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>9009</Port>
      </VirtualHost>' \
      -u email:password
  2. Solo per Edge per il cloud privato versioni 4.16.01 e 4.16.05, se modifichi un host virtuale esistente e puoi abilitare TLS o disabilitare TLS senza modificare la porta numero predefinito, quindi:
      .
    1. Arresta il router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Elimina tutti i file in /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Avvia il router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Ripeti l'operazione per tutti i router.