Konfigurowanie hostów wirtualnych

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Klient Cloud z płatnym kontem i wszyscy klienci Edge for Private Cloud może utworzyć hosta wirtualnego w organizacji. Użytkownik tworzącego hosta wirtualnego, musi być administrator organizacji lub rolę niestandardową z uprawnieniami do modyfikowania hosta wirtualnego. Użytkownicy z innymi rolami: do tworzenia hostów wirtualnych.

Obejrzyj film wprowadzający do wydarzeń wirtualnych.

Tworzenie hosta wirtualnego

Wykonaj poniższe czynności podstawowe, aby utworzyć hosta wirtualnego. Stosowana procedura zależy od tego, czy jesteś klientem Cloud, czy Private Cloud, i określ, czy jest włączony protokół TLS:

  1. Utwórz wpis DNS i rekord CNAME dla domeny dostępnej publicznie.
  2. Jeśli włączysz protokół TLS na hoście wirtualnym:
    1. Utwórz i skonfiguruj magazyn kluczy zgodnie z tą procedurą: Magazyny kluczy i magazyny zaufania
    2. Prześlij certyfikat i klucz do magazynu kluczy. Upewnij się, że nazwa domeny określona przez cert jest zgodny z aliasem hosta, którego chcesz użyć dla hosta wirtualnego.
    3. Utwórz odwołanie do magazynu kluczy za pomocą interfejsu użytkownika lub interfejsu API Edge. Plik referencyjny określa nazwę magazynu kluczy, a typ odwołania jako KeyStore. Zobacz Praca z plikami referencyjnymi o tworzeniu i modyfikowaniu odwołań.
    4. Jeśli wykonujesz dwukierunkowe szyfrowanie TLS, utwórz magazyn zaufania, prześlij certyfikat i utworzyć odwołanie do magazynu zaufania. Utwórz magazyn zaufania, korzystając z opisanej procedury tutaj: Keystores i Truststores.
  3. Utwórz hosta wirtualnego za pomocą Utwórz API Virtual Host. W przypadku włączania TLS pamiętaj, aby określić poprawne odwołanie do magazynu kluczy i aliasie klucza.
  4. Jeśli masz istniejące serwery proxy interfejsu API, dodaj hosta wirtualnego do punktu końcowego ProxyEndpoint. Host wirtualny jest automatycznie dodawany do wszystkich nowych serwerów proxy interfejsu API. Zobacz Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego

Po zaktualizowaniu serwera proxy interfejsu API w celu używania hosta wirtualnego i utworzeniu wpisu DNS oraz rekordu CNAME dla aliasu hosta możesz uzyskać dostęp do serwera proxy interfejsu API w następujący sposób:

https://api.myCompany.com/v1/project-base-path/resource-path

Na przykład:

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Tworzenie hosta wirtualnego przy użyciu interfejsu API lub interfejsu użytkownika

Hosta wirtualnego możesz utworzyć za pomocą interfejsu Edge API lub interfejsu Edge.

Większość poniższych przykładów korzysta z interfejsu Edge API. Dostęp do interfejsu z możliwością tworzenia, modyfikowania i usuwania hosty wirtualne w interfejsie Edge:

  1. Zaloguj się na stronie apigee.com/edge.

    Klienci brzegu dla chmury prywatnej używają środowiska http://ms-ip:9000 (lokalne), gdzie ms-ip to Adres IP lub nazwa DNS węzła serwera zarządzania.

  2. Na pasku nawigacyjnym po lewej wybierz Admin > Virtual Hosts (Administrator > Hosty wirtualne).
  3. Wybierz środowisko, na przykład prod lub test.
    Wirtualna Zostaną wyświetlone hosty zdefiniowane dla środowiska.
  4. Wybierz + Host wirtualny, aby utworzyć hosta wirtualnego, lub wybierz nazwę hosta na hoście wirtualnym, aby go edytować.

Tworzenie hosta wirtualnego dla HTTP

Klienci Edge for Private Cloud mogą utworzyć hosta wirtualnego przez HTTP.

Aby utworzyć hosta wirtualnego, który nie obsługuje protokołu TLS, utwórz obiekt XML definiujący hosta wirtualnego. Na przykład poniższy obiekt XML definiuje hosta wirtualnego korzystającego z protokołu HTTP protokół:

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

W tej definicji:

  • W polu nazwa podaj myVHost. Użyj nazwy, aby się odwołać hosta wirtualnego na serwerze proxy API lub w wywołaniu interfejsu API.
  • Jako alias hosta podaj api.myCompany.com. To jest dostępna publicznie domena używana do uzyskiwania dostępu do interfejsów API zgodnie z definicją DNS i rekordem CNAME nagrywać.
  • W polu portu podaj numer 80. W przypadku pominięcia domyślnie port jest ustawiony na 443.
  • Na hoście wirtualnym możesz skonfigurować dodatkowe właściwości. Informacje o wszystkich usługach znajdziesz tutaj: Informacje o właściwościach hosta wirtualnego

Jeśli masz już jakieś 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 sekcją Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego. Jeśli utworzysz nowy serwer proxy interfejsu API, który nie powinien być dostępny przez określony host wirtualny, musisz zmodyfikować serwer proxy interfejsu API, aby usunąć tego hosta wirtualnego z punktu końcowego ProxyEndpoint.

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

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

Utwórz hosta wirtualnego za pomocą Utwórz Interfejs API hosta wirtualnego:

curl -X POST -H "Content-Type:application/xml" \
  http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
  -d '<VirtualHost name="myVHost">
        <HostAliases>
            <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>80</Port>
    </VirtualHost>' \
  -u sysAdminEmail:password

Tworzenie hosta wirtualnego dla jednokierunkowego połączenia TLS

Ten obiekt XML definiuje hosta wirtualnego dla jednokierunkowego protokołu TLS:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>
</VirtualHost>

W tej definicji włączasz TLS, konfigurując element <Enable> i użyj elementów <KeyStore> oraz <KeyAliase> aby określić magazyn kluczy i alias kluczy używany przez połączenie TLS.

Więcej informacji znajdziesz na stronie TLS/SSL informacje o korzystaniu z protokołu TLS.

Decyzja o sposobie określenia nazwy magazynu kluczy i magazynu zaufania na hoście wirtualnym

Podczas konfigurowania hosta wirtualnego do obsługi protokołu TLS określasz magazyn kluczy za pomocą dokumentu referencyjnego. Odwołanie to zmienna zawierająca nazwę magazynu kluczy lub zaufania, zamiast określać bezpośrednio nazwę magazynu kluczy lub magazynu zaufania, jak pokazano poniżej:

    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>

Zaletą takiego odwołania jest możliwość zmiany jego wartości magazyn kluczy używany przez hosta wirtualnego, zwykle dlatego, że certyfikat w bieżącym magazynie kluczy wygaśnie w najbliższej przyszłości. Zmiana wartości odwołania nie wymaga ponownego uruchamiania routera brzegowego. Patrz sekcja Praca z materiałami referencyjnymi w tych artykułach: o tworzeniu i modyfikowaniu odwołań.

Możesz użyć tylko odwołania do magazynu kluczy i magazynu zaufania; nie można użyć odwołania do alias. Gdy zmienisz odwołanie do magazynu kluczy, upewnij się, że alias certyfikatu to nazwa taki sam jak w starym magazynie kluczy.

Ograniczenia dotyczące używania odwołań do magazynów kluczy i magazynu zaufania

Podczas korzystania z odniesień do magazynów kluczy musisz wziąć pod uwagę poniższe ograniczenie magazyny zaufania:

  • Odwołanie do magazynu kluczy i zaufania do magazynu zaufania możesz używać na hostach wirtualnych tylko wtedy, gdy obsługujesz SNI i zakończysz korzystanie z SSL na routerach Apigee.
  • Jeśli przed routerami Apigee masz system równoważenia obciążenia i wyłączysz protokół TLS systemu równoważenia obciążenia, nie możesz używać odwołań do magazynu kluczy i zaufania na hostach wirtualnych.

Tworzenie hosta wirtualnego dla dwukierunkowego protokołu TLS

Aby włączyć dwukierunkowe protokół TLS, ustaw element <ClientAuthEnabled> na true i określ magazyn zaufania przez za pomocą odwołania z elementem <TrustStore>. Magazyn zaufania przechowuje wystawcę certyfikatu klienta i łańcuch urzędów certyfikacji (są wymagane). Klient musi być poprawnie skonfigurowany dla dwukierunkowego protokołu TLS.

Aby utworzyć hosta wirtualnego dla dwukierunkowego protokołu TLS, utwórz obiekt XML definiujący wirtualny host:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
</VirtualHost>

W tej definicji:

  • Włącz dwukierunkową komunikację TLS, ustawiając wartość <ClientAuthEnabled> na wartość true.
  • Określ odwołanie do magazynu zaufania za pomocą elementu <TrustStore>. Magazyn zaufania przechowuje wystawcę certyfikatu klienta i łańcuch urzędów certyfikacji (są wymagane).

Więcej informacji znajdziesz na stronie TLS/SSL informacje o korzystaniu z protokołu TLS.

Modyfikowanie hosta wirtualnego

Klienci Cloud z płatnym kontem i wszyscy klienci Edge for Private Cloud mogą korzystać z Zaktualizuj interfejs API hosta wirtualnego, aby zaktualizować hosta wirtualnego. Ten interfejs API umożliwia skonfigurowanie wszystkich dla hosta wirtualnego opisanego w dokumentacji właściwości hosta wirtualnego.

Zaktualizuj hosta wirtualnego przy użyciu polecenia Aktualizowanie interfejsu API hosta wirtualnego Korzystając z interfejsu API, musisz podać pełną definicję hosta wirtualnego w treści żądania, a nie tylko w elementach, które chcesz zmienić.

W tym przykładzie ustawiasz wartość właściwości proxy_read_timeout:

curl -X PUT -H "Content-Type:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
    -d '<VirtualHost  name="myTLSVHost">
         <HostAliases>
           <HostAlias>api.myCompany.com</HostAlias>
         </HostAliases>
         <Port>443</Port>
         <SSLInfo>
           <Enabled>true</Enabled>
           <ClientAuthEnabled>false</ClientAuthEnabled>
           <KeyStore>ref://myTestKeystoreRef</KeyStore>
           <KeyAlias>myKeyAlias</KeyAlias>
         </SSLInfo>
         <Properties>
           <Property name="proxy_read_timeout">50</Property>
         </Properties>
     </VirtualHost>' \
    -u orgAdminEmail:password

Usuwanie hosta wirtualnego

Zanim usuniesz hosta wirtualnego ze środowiska, musisz zaktualizować wszystkie serwery proxy interfejsu API, odwołuje się do hosta wirtualnego w celu usunięcia odwołania. Zobacz Konfigurowanie serwera proxy interfejsu API do korzystania z wirtualnego hosta.

Usuń hosta wirtualnego za pomocą Usuń interfejs API hosta wirtualnego:

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
  -u orgAdminEmail:password

Wyświetlanie informacji o hoście wirtualnym

Wyświetl informacje o hostach wirtualnych zdefiniowanych w środowisku w sposób opisany poniżej.

Edge

Aby wyświetlić informacje o hoście wirtualnym za pomocą interfejsu Edge:

  1. Zaloguj się na stronie apigee.com/edge.

    Klienci brzegu dla chmury prywatnej używają środowiska http://ms-ip:9000 (lokalne), gdzie ms-ip to Adres IP lub nazwa DNS węzła serwera zarządzania.

  2. Wybierz Administracja > Virtual Hosts (Hosty wirtualne) na pasku nawigacyjnym po lewej stronie.
  3. Wybierz środowisko, na przykład prod lub test.

    Wirtualna Zostaną wyświetlone hosty zdefiniowane dla środowiska. Jeśli host wirtualny jest skonfigurowany do używania magazynu kluczy lub magazynu kluczy, kliknij Pokaż, aby zobaczyć więcej informacji.

Jeśli host wirtualny jest skonfigurowany do używania TLS/SSL, obok nazwy hosta wirtualnego. Oznacza to, że certyfikat, klucz i łańcuch certyfikatów TLS/SSL zostały przesłane do Edge i powiązane z hostem wirtualnym. Aby zobaczyć informacje o dostępnych opcjach certyfikaty:

  1. Wybierz Administracja > Środowisko > Magazyny kluczy TLS na lewym pasku nawigacyjnym.
  2. Wybierz środowisko (zwykle prod lub test).
  3. Rozwiń magazyny kluczy, aby wyświetlić certyfikat.

Classic Edge (Private Cloud)

Aby wyświetlić informacje o hoście wirtualnym w interfejsie Classic Edge:

  1. Zaloguj się w aplikacji http://ms-ip:9000, gdzie ms-ip to adres Adres IP lub nazwa DNS węzła serwera zarządzania.
  2. Wybierz Administracja > Virtual Hosts (Hosty wirtualne) na pasku nawigacyjnym po lewej stronie.
  3. Wybierz środowisko, na przykład prod lub test.
  4. Kliknij kartę Virtual Hosts (Hosty wirtualne).

    Wirtualna Zostaną wyświetlone hosty zdefiniowane dla środowiska. Jeśli host wirtualny jest skonfigurowany do używania magazynu kluczy lub magazynu kluczy, kliknij Pokaż, aby zobaczyć więcej informacji.

    Na karcie Virtual Hosts (Hosty wirtualne) wyświetlane są informacje o nazwie, porcie i
                 alias itp.

Jeśli host wirtualny jest skonfigurowany do używania TLS/SSL, obok nazwy hosta wirtualnego. Oznacza to, że certyfikat, klucz i łańcuch certyfikatów TLS/SSL zostały przesłane do Edge i powiązane z hostem wirtualnym. Aby zobaczyć informacje o dostępnych opcjach certyfikaty:

  1. Wybierz Administracja > certyfikaty TLS na górnym pasku nawigacyjnym.
  2. Wybierz środowisko (zwykle prod lub test).
  3. Rozwiń magazyny kluczy, aby wyświetlić certyfikat.

Wyświetlanie hosta wirtualnego z interfejsem Edge API,

Do wyświetlania informacji o hostach wirtualnych możesz też używać interfejsów Edge API. Dla: przykładowy List Virtual Interfejs Hosts API zwraca listę wszystkich hostów wirtualnych:

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
    -u orgAdminEmail:pWord

Gdzie orgAdminEmail:pWord to nazwa użytkownika i hasło administratora organizacji, org_name/env_name określ organizacji i środowiska zawierającego hosta wirtualnego. Przykładowa odpowiedź:

[
 "default",
 "secure"
]

Aby wyświetlić informacje o konkretnym hoście wirtualnym, skorzystaj z Interfejs API Get Virtual Host (Uzyskaj wirtualny host):

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
    -u orgAdminEmail:pWord

Gdzie vhost_name to nazwa na hoście wirtualnym. Możesz na przykład określić vhost_name jako „bezpieczne” do zobaczysz konfigurację domyślnego bezpiecznego hosta wirtualnego utworzonego przez Apigee:

<VirtualHost name="secure">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <Properties/>
    <Interfaces/>
    <RetryOptions/>
    <SSLInfo>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <KeyAlias>freetrial</KeyAlias>
        <KeyStore>ref://freetrial</KeyStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Konfigurowanie serwera proxy interfejsu API do używania wirtualnego Gospodarz

Gdy tworzysz nowy serwer proxy interfejsu API, Edge automatycznie konfiguruje go tak, aby używał wszystkich dostępnych hosty w organizacji. Żądanie do serwera proxy interfejsu API przez hosta wirtualnego ma postać:

https://host-alias/proxy-base-path/resource-path

Gdzie:

  • host-alias to zwykle nazwa DNS hosta wirtualnego.
  • proxy-base-path jest zdefiniowany podczas tworzenia serwera proxy interfejsu API i niepowtarzalny dla każdego Proxy API.
  • resource-path ścieżkę do zasobu dostępnego przez serwer proxy interfejsu API.

Kontrolowanie hostów wirtualnych używanych przez serwer proxy interfejsu API

W konfiguracji XML serwera proxy interfejsu API należy użyć tagu virtualhost do określenia nazwa hosta wirtualnego powiązanego z serwerem proxy interfejsu API:

<HTTPProxyConnection>
  <BasePath>/v1/my/proxy/basepath</BasePath>
  <VirtualHost>secure</VirtualHost>
  <VirtualHost>default</VirtualHost>
</HTTPProxyConnection>

Na przykład <VirtualHost>secure</VirtualHost> oznacza klient może wywołać serwer proxy interfejsu API, używając aliasu hosta „secure” hosta wirtualnego.

Hosty wirtualne powiązane z serwerem proxy interfejsu API zwykle modyfikują się, gdy:

  • Tworzysz nowego hosta wirtualnego i masz istniejące serwery proxy interfejsu API. Musisz edytować dowolny istniejący interfejs API serwerów proxy, aby dodać nowego hosta wirtualnego.
  • Tworzysz nowy serwer proxy interfejsu API, który nie powinien być dostępny na konkretnym hoście wirtualnym. Musisz zmodyfikować serwer proxy interfejsu API, aby usunąć tego hosta wirtualnego z jego definicji.

Aby zmodyfikować hosty wirtualne powiązane z serwerem proxy interfejsu API:

  1. Otwórz edytor serwera proxy interfejsu API w sposób opisany poniżej.

    Edge

    Aby uzyskać dostęp do edytora serwera proxy interfejsu API za pomocą interfejsu użytkownika Edge:

    1. Zaloguj się na stronie apigee.com/edge.

      Klienci brzegu dla chmury prywatnej używają środowiska http://ms-ip:9000 (lokalne), gdzie ms-ip to Adres IP lub nazwa DNS węzła serwera zarządzania.

    2. Kliknij Programowanie > Serwery proxy interfejsów API na lewym pasku nawigacyjnym.
    3. Wybierz na liście serwer proxy interfejsu API, który chcesz edytować.

    Classic Edge (Private Cloud)

    Aby uzyskać dostęp do edytora serwera proxy interfejsu API za pomocą interfejsu użytkownika Classic Edge:

    1. Zaloguj się w aplikacji http://ms-ip:9000, gdzie ms-ip to adres Adres IP lub nazwa DNS węzła serwera zarządzania.
    2. Wybierz Interfejsy API > Serwery proxy interfejsów API na górnym pasku nawigacyjnym.
    3. Wybierz na liście serwer proxy interfejsu API, który chcesz edytować.
  2. Kliknij kartę Develop.
  3. W sekcji Proxy Endpoints (Punkty końcowe serwera proxy) wybierz default.
  4. W obszarze kodu:
    1. Usuń wszystkie elementy <VirtualHost> w: hosty wirtualne nie są obsługiwane przez serwer proxy interfejsu API.
    2. Dodaj nowy element <VirtualHost> nazwą nowego hosta wirtualnego. Jeśli na przykład nowy host wirtualny nazywa się MyVirtualHost, dodaj ten tag:
      <HTTPProxyConnection>
        <BasePath>/v1/my/proxy/basepath</BasePath>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
        <VirtualHost>MyVirtualHost</VirtualHost>
      </HTTPProxyConnection>
  5. Zapisz serwer proxy interfejsu API. Jeśli serwer proxy interfejsu API został wdrożony, zapisanie go spowoduje ponowne wdrożenie go za pomocą .

Ustawianie podstawowego adresu URL wyświetlanego przez Interfejs Edge dla serwera proxy API

Interfejs Edge z adresem URL serwera proxy interfejsu API na podstawie ustawień hosta wirtualnego odpowiadające miejsce wdrożenia serwera proxy. Ekran może zawierać numer portu routera na hoście wirtualnym.

W większości przypadków adres URL wyświetlany w interfejsie Edge jest poprawnym adresem URL, do serwera proxy. Jednak w przypadku niektórych konfiguracji wyświetlany URL jest nieprawidłowy. Dla: Na przykład każda z poniższych konfiguracji może spowodować, że wyświetlany URL nie będzie odpowiadają faktycznemu adresowi URL używanemu do wysyłania zewnętrznych żądań do serwera proxy:

  • Zakończenie SSL następuje w systemie równoważenia obciążenia
  • Mapowanie portów między systemem równoważenia obciążenia a routerami Apigee
  • System równoważenia obciążenia skonfigurowany z przepisywaniem ścieżek

Edge obsługuje atrybut na hoście wirtualnym o nazwie <BaseUrl>, który pozwala zastąpisz adres URL wyświetlany w interfejsie Edge. Oto przykład, który przedstawia obiekt hosta wirtualnego z atrybutem <BaseUrl>. W tym przykładzie wartość „http://myCo.com” w interfejsie Edge:

<VirtualHost name="myTLSVHost">
  <HostAliases>
    <HostAlias>api.myCompany.com</HostAlias>
  </HostAliases>
  <BaseUrl>http://myCo.com</BaseUrl>
  <Port>443</Port>
  <SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>false</ClientAuthEnabled>
    <KeyStore>ref://myTestKeystoreRef</KeyStore>
    <KeyAlias>myKeyAlias</KeyAlias>
  </SSLInfo>
</VirtualHost>

Wartość <BaseUrl> musi zawierać protokół (np. „http://” lub „https://”).

Jeśli zasada <BaseUrl> nie jest skonfigurowana, domyślny adres URL renderowany przez interfejs Edge wyglądają tak: „api.mojaFirma.com”, podczas gdy rzeczywisty alias hosta to „http://myCo.com”.