Konfigurowanie hostów wirtualnych dla chmury prywatnej

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

W przypadku instalacji lokalnej masz pełną kontrolę nad hostami wirtualnymi. Możesz tworzyć hosty wirtualnych dla dowolnej organizacji w dowolnych środowiskach, z użyciem protokołu TLS lub bez niego.

Z tego dokumentu dowiesz się, jak utworzyć prosty host wirtualny. Oznacza to, że nie obsługuje on TLS. Więcej przykładów, w tym przykłady tworzenia hostów wirtualnych obsługujących TLS, znajdziesz w artykule Konfigurowanie dostępu TLS do interfejsu API na potrzeby chmury Private Cloud.

Więcej informacji:

Informacje o aliasach hostów

Podczas tworzenia hosta wirtualnego musisz podać jego alias. Zwykle jest to nazwa DNS hosta wirtualnego.

Podczas określania serwera proxy interfejsu API, który obsługuje żądanie, router brzegowy porównuje nagłówek Host żądania przychodzącego z listą dostępnych aliasów hosta. Gdy wysyłasz żądanie za pomocą hosta wirtualnego, podaj nazwę domeny odpowiadającą aliasowi hosta wirtualnego lub podaj adres IP routera i nagłówek Host zawierający alias hosta.

Jeśli na przykład utworzysz hosta wirtualnego z aliasem hosta myapis.apigee.net na porcie 9001, żądanie cURL do interfejsu API wysłane przez tego hosta wirtualnego może mieć jedną z tych form:

  • Jeśli masz wpis DNS dla myapis.apigee.net:

    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • Jeśli nie masz wpisu DNS dla adresu myapis.apigee.net:

    curl http://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'

    W tym formularzu podajesz adres IP routera i przekazujesz alias hosta w nagłówku Host.

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

Opcje, gdy nie masz rekordu DNS dla hosta wirtualnego

Jeśli nie masz wpisu DNS, możesz ustawić alias hosta na adres IP routera i port hosta wirtualnego, na przykład routerIP:port. Na przykład:

192.168.1.31:9001

Gdy w formularzu poniżej wpiszesz polecenie curl:

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

Ta opcja jest preferowana, ponieważ dobrze współpracuje z interfejsem Edge.

Jeśli masz kilka routerów, dodaj alias hosta dla każdego z nich, podając adres IP każdego routera i port hosta wirtualnego.

Możesz też ustawić alias hosta na wartość, np. temp.hostalias.com. Wtedy musisz przekazać nagłówek Host w każdym żądaniu:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'Host: temp.hostalias.com'

Możesz też dodać alias hosta do pliku /etc/hosts. Na przykład dodaj ten wiersz do pliku /etc/hosts:

192.168.1.31 temp.hostalias.com

Następnie możesz wysłać żądanie tak, jakby miał wpis DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path

Informacje o portach hosta wirtualnego w Edge w przypadku Private Cloud w wersji 4.16.01 lub nowszej

Podczas tworzenia hosta wirtualnego musisz określić port routera używany przez hosta wirtualnego. Na przykład port 9001.

W przypadku wersji Apigee for Private Cloud 4.16.01 i nowszych router działa domyślnie jako użytkownik „apigee”, który nie ma dostępu do portów uprzywilejowanych, zazwyczaj portów 1024 i niższych. Jeśli chcesz utworzyć hosta wirtualnego, który łączy Router z chronionym portem, musisz skonfigurować Router tak, aby działał jako użytkownik z dostępem do tych portów. Więcej informacji znajdziesz w artykule Konfigurowanie hosta wirtualnego.

Tworzenie hostów wirtualnych

Z tej sekcji dowiesz się, jak tworzyć hosty wirtualnych dla Apigee Edge for Private Cloud. Aby utworzyć nowego hosta wirtualnego, musisz być administratorem organizacji.

Hosty wirtualnych dla Apigee Edge for Private Cloud możesz tworzyć za pomocą interfejsu API lub interfejsu Edge. Opisują je kolejne sekcje.

Tworzenie hosta wirtualnego za pomocą przeglądarki

Z tej sekcji dowiesz się, jak utworzyć hosta wirtualnego za pomocą przeglądarki (tylko interfejs Edge).

Aby utworzyć nowego hosta wirtualnego w interfejsie Edge:

  1. Zaloguj się w interfejsie zarządzania Edge.
  2. Wybierz Admin > Virtual Hosts (Administrator > Hosty wirtualne).
  3. Wybierz środowisko z listy.

    Edge wyświetla listę hostów wirtualnych dla tego środowiska.

  4. Aby utworzyć nowego hosta wirtualnego, kliknij + Host wirtualny.

    Edge wyświetla formularz Create Virtual Host (Utwórz hosta wirtualnego).

    Możesz też kliknąć nazwę istniejącego hosta wirtualnego, aby go edytować.

  5. Określ nowego hosta wirtualnego. Pamiętaj, że pole Adres URL podstawowy musi zawierać protokół (czyli wartość pola musi zaczynać się od „http://” lub „https://”).

    Dodatkowo:

    • Nie ma limitu liczby hostów wirtualnych, które możesz utworzyć.
    • TLS jest opcjonalny i może być w wersji 1.0, 1.1 lub 1.2.
    • Port hosta wirtualnego można skonfigurować.
  6. Aby zapisać nowego hosta wirtualnego, kliknij przycisk Utwórz.

Tworzenie hosta wirtualnego za pomocą interfejsu API

Aby utworzyć hosta wirtualnego za pomocą interfejsu API, utwórz obiekt XML, który definiuje hosta wirtualnego. Na przykład obiekt XML poniżej definiuje hosta wirtualnego, który używa protokołu HTTP:

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

Zwróć uwagę, że host wirtualny zawiera właściwość name. Za pomocą wartości właściwości name możesz skonfigurować serwer proxy interfejsu API do używania hosta wirtualnego.

Następnie możesz uzyskać dostęp do serwera proxy API za pomocą tego hosta wirtualnego, wysyłając żądanie do:

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

Gdzie:

  • http lub https: jeśli host wirtualny jest skonfigurowany do obsługi TLS, użyj protokołu HTTPS. Jeśli host wirtualny nie obsługuje protokołu TLS, użyj protokołu HTTP.
  • routerIP:port to adres IP i numer portu hosta wirtualnego.
  • Wartości proxy-base-pathresource-path są definiowane podczas tworzenia proxy interfejsu API.

Zwykle nie publikujesz interfejsów API klientom z adresem IP i numerem portu. Zamiast tego definiujesz wpis DNS dla routera i portu. Na przykład:

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

Jeśli zdefiniujesz wpis DNS, musisz utworzyć alias hosta dla hosta wirtualnego, który pasuje do nazwy domeny wpisu DNS. Alias hosta musi być zgodny z ciągiem znaków przekazywanym przez klienta w nagłówku Host. W przykładzie powyżej należy podać alias hosta api.myCompany.com.

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

Aby utworzyć hosta wirtualnego korzystającego z protokołu HTTP:

  1. Utwórz hosta wirtualnego, korzystając z interfejsu API Create a Virtual Host, gdzie ms-IP to adres IP lub nazwa domeny węzła serwera zarządzania:
    $ 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. Utwórz rekord DNS dla hosta wirtualnego, który pasuje do aliasu hosta.
  3. Jeśli masz istniejące serwery proxy interfejsu API, dodaj hosta wirtualnego do elementu <HTTPConnection> w punkcie końcowym serwera proxy. Host wirtualny jest automatycznie dodawany do wszystkich nowych serwerów proxy API. Zapoznaj się z artykułem Konfigurowanie serwera proxy interfejsu API do korzystania z hosta wirtualnego.

Modyfikowanie hosta wirtualnego

Aby zmodyfikować hosta wirtualnego, wykonaj te czynności:

  1. Zaktualizuj hosta wirtualnego za pomocą interfejsu Zaktualizuj hosta wirtualnego API, gdzie <ms-IP> to adres IP lub nazwa domeny węzła serwera zarządzania. W treści żądania musisz podać pełną definicję hosta wirtualnego, a nie tylko elementy, które chcesz zmienić. W tym przykładzie zmieniasz numer portu hosta wirtualnego z 9008 na 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. W przypadku Edge for Private Cloud w wersji 4.16.01 lub 4.16.05: jeśli zmodyfikujesz istniejący host wirtualny i włączysz lub wyłączysz TLS bez zmiany numeru portu, to:
    1. Zatrzymaj router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Usuń wszystkie pliki w folderze /opt/nginx/conf.d:

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

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Powtórz tę czynność dla wszystkich routerów.