Konfigurowanie hostów wirtualnych dla chmury prywatnej

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

W przypadku instalacji lokalnej masz pełną kontrolę nad hostami wirtualnymi. Korzystając z TLS, lub nie, możesz tworzyć hosty wirtualne dla każdej organizacji i środowisk.

Ten dokument opisuje, jak utworzyć prostego hosta wirtualnego. Oznacza to, że usługa nie obsługuje 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 w chmurze prywatnej.

Więcej informacji:

Informacje o aliasach hostów

Podczas tworzenia hosta wirtualnego musisz określić alias hosta wirtualnego. Zwykle jest to nazwa DNS hosta wirtualnego.

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

Jeśli na przykład utworzysz host wirtualny z aliasem myapis.apigee.net na porcie 9001, wtedy żądanie cURL do interfejsu API za pośrednictwem tego hosta wirtualnego będzie miało jedną z tych postaci:

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

    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • Jeśli nie masz wpisu DNS dla domeny 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 dostępne, gdy nie ma wpisu DNS dla hosta wirtualnego

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

192.168.1.31:9001

Gdy utworzysz polecenie curl w formularzu poniżej:

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

Ta opcja jest preferowana, ponieważ dobrze działa z interfejsem Edge.

Jeśli masz kilka routerów, dodaj alias hosta dla każdego routera, który określa adres IP każdego routera i port hosta wirtualnego.

Alias hosta możesz też ustawić jako wartość, na przykład temp.hostalias.com. Następnie w każdym żądaniu musisz przekazywać nagłówek Host:

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 katalogu /etc/hosts:

192.168.1.31 temp.hostalias.com

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

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

Informacje o portach hostów wirtualnych w Edge dla Private Cloud w wersji 4.16.01 i nowszych

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

W przypadku Apigee for Private Cloud w wersji 4.16.01 i nowszych router domyślnie działa jako użytkownik „apigee”, który nie ma dostępu do portów uprzywilejowanych (zwykle do portów 1024 i starszych). Jeśli chcesz utworzyć hosta wirtualnego, który wiąże 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

W tej sekcji opisaliśmy, jak tworzyć hosty wirtualne dla Apigee Edge dla Private Cloud. Pamiętaj, że aby utworzyć nowego hosta wirtualnego, musisz być administratorem organizacji.

Hosty wirtualne dla Apigee Edge dla Private Cloud możesz tworzyć za pomocą interfejsu API lub interfejsu użytkownika Edge. Zostały one opisane w kolejnych sekcjach.

Tworzenie hosta wirtualnego w przeglądarce

W tej sekcji opisaliśmy, jak utworzyć hosta wirtualnego za pomocą przeglądarki (tylko w interfejsie Edge).

Aby utworzyć nowego hosta wirtualnego w interfejsie Edge:

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

    Edge wyświetli listę hostów wirtualnych w tym środowisku.

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

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

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

  5. Zdefiniuj nowego hosta wirtualnego. Pamiętaj, że pole Podstawowy URL musi zawierać protokół (np. przed wartością pola „http://” lub „https://”).

    Pamiętaj też, że:

    • Nie ma ograniczeń co do liczby hostów wirtualnych, które możesz utworzyć
    • Protokół TLS jest opcjonalny i może być w wersji 1.0, 1.1 lub 1.2
    • Port hosta wirtualnego można skonfigurować
  6. Kliknij przycisk Utwórz, aby zapisać nowego hosta wirtualnego.

Tworzenie hosta wirtualnego za pomocą interfejsu API

Aby utworzyć hosta wirtualnego za pomocą interfejsu API, utwórz obiekt XML określający hosta wirtualnego. Na przykład ten obiekt XML 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. Przy użyciu wartości właściwości name możesz skonfigurować serwer proxy interfejsu API, który będzie używać hosta wirtualnego.

Za pośrednictwem tego hosta wirtualnego możesz uzyskać dostęp do serwera proxy interfejsu API, 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 protokołu TLS, użyj HTTPS. Jeśli host wirtualny nie obsługuje TLS, użyj HTTP.
  • routerIP:port to adres IP i numer portu hosta wirtualnego.
  • proxy-base-path i resource-path są definiowane podczas tworzenia serwera proxy interfejsu API.

Zwykle nie publikujesz interfejsów API dla klientów z adresem IP i numerem portu. Zamiast tego możesz zdefiniować 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 odpowiada nazwie domeny wpisu DNS. Alias hosta musi pasować do ciągu, który klient przekazuje w nagłówku Host. Na podstawie przykładu powyżej określ alias hosta api.myCompany.com.

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

Aby utworzyć hosta wirtualnego, który używa protokołu HTTP, wykonaj te czynności:

  1. Utwórz hosta wirtualnego za pomocą interfejsu API Create a Virtual Host (Utwórz wirtualny 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 pasującego 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 interfejsu API. Zapoznaj się z artykułem o konfigurowaniu serwera proxy interfejsu API pod kątem użycia hosta wirtualnego.

Modyfikowanie hosta wirtualnego

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

  1. Zaktualizuj hosta wirtualnego przy użyciu interfejsu API Update a Virtual Host (Aktualizacja hosta wirtualnego), gdzie <ms-IP> to adres IP lub nazwa domeny węzła serwera zarządzania. W treści żądania musisz określić 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. Tylko w przypadku Edge dla Private Cloud w wersji 4.16.01 i 4.16.05, jeśli zmodyfikujesz istniejący host wirtualny i włączysz TLS lub wyłączysz TLS bez zmiany numeru portu, wykonaj te czynności:
    1. Zatrzymaj router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Usuń pliki z folderu /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 te czynności dla wszystkich routerów.