Konfigurowanie hostów wirtualnych na potrzeby chmury

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

Klient Cloud z płatnym kontem może utworzyć hosta wirtualnego w organizacji.

Więcej informacji:

Kto może tworzyć i modyfikować hosty wirtualne w chmurze

Tworzenie i modyfikowanie hostów wirtualnych jest dostępne tylko na płatnych kontach w Edge Cloud. Użytkownik tworzący hosta wirtualnego musi mieć rolę administratora organizacji lub rolę niestandardową z uprawnieniami do modyfikowania hosta wirtualnego. Użytkownicy z innymi rolami nie mają uprawnień do tworzenia hostów wirtualnych.

Klienci płacący mogą na przykład:

  • Włącz jednokierunkowe i dwukierunkowe połączenia TLS
  • Określ magazyn kluczy/magazyn zaufania używany przez hosta wirtualnego

Na kontach bezpłatnych i próbnych nie można tworzyć ani modyfikować hostów wirtualnych i są one ograniczone do hostów wirtualnych utworzonych dla nich podczas rejestracji na serwerach brzegowych. Więcej informacji o abonamentach Edge znajdziesz na stronie https://apigee.com/api-management/#/pricing.

Wymagania dotyczące konfigurowania hosta wirtualnego dla Cloud

W tabeli poniżej znajdziesz podsumowanie wymagań dotyczących tworzenia hosta wirtualnego:

Kategoria Wymaganie Opis
Rodzaj konta Zapłacone Na kontach bezpłatnych i próbnych nie można tworzyć ani modyfikować hostów wirtualnych.
Rola użytkownika administrator organizacji Tylko administrator organizacji może utworzyć hosta wirtualnego lub użytkownika w roli niestandardowej z uprawnieniami do modyfikowania hosta wirtualnego.
Liczba hostów wirtualnych Maksymalnie 20

Obowiązuje limit 20 hostów wirtualnych na organizację/środowisko w chmurze.

Uwaga: nie ma limitu liczby hostów wirtualnych w Private Cloud.

Większość organizacji/środowisk używa 2 hostów wirtualnych: jednego do obsługi protokołu HTTP i jednego do obsługi dostępu HTTPS. Jeśli Twoja organizacja/środowisko zezwala na dostęp przy użyciu różnych nazw domen, możesz potrzebować dodatkowych hostów wirtualnych.

Bazowy adres URL Obejmuje protokół Definiując podstawowy adres URL hosta wirtualnego (w interfejsie użytkownika lub za pomocą interfejsu API), musisz określić protokół (np. „http://” lub „https://”) jako część adresu URL.
Port 443

Host wirtualny można utworzyć tylko na porcie 443.

Pamiętaj, że na porcie 443 możesz utworzyć wiele hostów wirtualnych, pod warunkiem że mają one unikalne aliasy hostów i wszystkie obsługują protokół TLS.

TLS Wymagane

Możesz utworzyć tylko hosta wirtualnego, który obsługuje protokół TLS przez HTTPS. Musisz już utworzyć magazyn kluczy i opcjonalnie magazyn zaufania zawierający certyfikat i klucz TLS.

Musisz mieć certyfikat podpisany przez zaufany podmiot, np. Symantec lub VeriSign. Nie możesz używać samodzielnie podpisanego certyfikatu.

Jeśli potrzebujesz dostępu przez HTTP, skontaktuj się z zespołem pomocy Apigee Edge.

Protokół TLS TLS 1.2

Edge in the Cloud obsługuje tylko TLS w wersji 1.2.

Alias hosta Unikalne w organizacji i środowisku Alias hosta nie istnieje dla innej kombinacji organizacji i środowiska.
Nazwa domeny Własność klienta

Musisz być właścicielem nazwy domeny podanej w hoście wirtualnym. Edge sprawdza, czy nazwa domeny, zdefiniowana przez alias hosta, jest zgodna z metadanymi w certyfikacie TLS.

W szczególności Edge sprawdza w certyfikacie te informacje:

  • CN – Common Name (Nazwa pospolita)
  • SAN – Subject Alternative Name (Nazwa alternatywna podmiotu)

W nazwie SAN lub CN można używać symboli wieloznacznych (np. *.myco.net).

Edge sprawdza też, czy certyfikat nie wygasł.

Obsługa SNI aplikacji klienckiej Wszystkie aplikacje klienckie uzyskujące dostęp do hosta wirtualnego muszą obsługiwać SNI.

Wszystkie aplikacje muszą obsługiwać SNI.

Tworzenie hosta wirtualnego w przeglądarce

Większość przykładów z tej sekcji używa interfejsu Edge API do tworzenia lub modyfikowania hostów wirtualnych, ale hosty wirtualne możesz utworzyć w interfejsie Edge.

Aby utworzyć hosta wirtualnego za pomocą interfejsu Edge:

  1. Zaloguj się na stronie apigee.com/edge.
  2. Wybierz Admin > Virtual Hosts (Administrator > Hosty wirtualne).
  3. Wybierz środowisko, na przykład prod lub test.
  4. Wybierz + Host wirtualny, aby utworzyć hosta wirtualnego, lub wybierz nazwę istniejącego hosta wirtualnego, aby go edytować.
  5. W tabeli powyżej znajdziesz szczegółowe informacje o wypełnianiu pól hosta wirtualnego.

Definiowanie hosta wirtualnego dla jednokierunkowego protokołu TLS

Obiekt XML określający hosta wirtualnego. Na przykład 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>

Zgodnie z tą definicją:

  • W polu name (nazwa) wpisz myTLSVHost. Użyj nazwy, aby odwoływać się do hosta wirtualnego w serwerze proxy interfejsu API lub w wywołaniu interfejsu API.
  • Określ alias hosta jako api.myCompany.com. Jest to domena dostępna publicznie, która służy do uzyskiwania dostępu do interfejsów API zgodnie z definicją DNS i rekordem CNAME.
  • Podaj numer portu jako 443. Jeśli go pominiesz, domyślnie zostanie ustawiony port 443.
  • W razie potrzeby włącz TLS.

    Element <Enable> ma wartość true (prawda), aby umożliwić jednokierunkowe korzystanie z protokołu TLS, a elementy i <KeyStore> określają magazyn kluczy i alias kluczy używane przez połączenie TLS.

    Aby włączyć dwukierunkowy protokół TLS, ustaw parametr <ClientAuthEnabled> na wartość true i określ magazyn zaufania za pomocą elementu <TrustStore>. Magazyn zaufania zawiera wydawcę certyfikatu klienta i łańcuch urzędów certyfikacji, co jest wymagane.

    Uwaga: przeglądarka Edge początkowo obsługiwała protokół SSL, dlatego tag, którego używasz do konfigurowania protokołu TLS, nosi nazwę <SSLInfo>.

Pamiętaj, że na hoście wirtualnym możesz ustawić dodatkowe właściwości. Informacje o wszystkich właściwościach znajdziesz w dokumentacji właściwości hosta wirtualnego.

Określam, jak określić nazwę magazynu kluczy i magazynu zaufanych certyfikatów na hoście wirtualnym

Konfigurując host wirtualny do obsługi protokołu TLS, musisz podać magazyn kluczy w odwołaniu. Odwołanie to zmienna zawierająca nazwę magazynu kluczy lub zaufanego magazynu, zamiast wskazywać bezpośrednio nazwę magazynu kluczy lub zaufania, jak w przykładzie poniżej:

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

Zaletą korzystania z pliku referencyjnego jest to, że możesz zmienić jego wartość, aby zmienić magazyn kluczy używany przez hosta wirtualnego. Zwykle dlatego, że certyfikat w bieżącym magazynie kluczy wkrótce wygaśnie. Zmiana wartości odwołania nie wymaga ponownego uruchomienia routera brzegowego. Więcej informacji o tworzeniu i modyfikowaniu plików referencyjnych znajdziesz w artykule Praca z plikami referencyjnymi.

Możesz używać tylko odwołania do magazynu kluczy i magazynu zaufania. Nie możesz użyć odwołania do aliasu. Gdy zmienisz odwołanie na magazyn kluczy, upewnij się, że alias nazwy certyfikatu jest taki sam jak w starym magazynie kluczy.

Ograniczenia korzystania z odwołań do magazynów kluczy i magazynu zaufania

Gdy używasz odwołań do magazynów kluczy i magazynów zaufania, musisz wziąć pod uwagę te ograniczenia:

  • Odwołań do magazynu kluczy i magazynu zaufania możesz używać tylko na hostach wirtualnych, jeśli obsługujesz SNI i wyłączysz SSL na routerach Apigee.
  • Jeśli masz system równoważenia obciążenia przed routerami Apigee i wyłączysz protokół TLS w systemie równoważenia obciążenia, nie możesz używać odwołań do magazynu kluczy ani magazynu zaufanych certyfikatów na hostach wirtualnych.

Definiowanie hosta wirtualnego dla dwukierunkowego protokołu TLS

Aby włączyć dwukierunkowe protokół TLS, ustaw element <ClientAuthEnabled> na true i wskaż magazyn zaufania za pomocą pliku referencyjnego z elementem <TrustStore>. Magazyn zaufania zawiera wydawcę certyfikatu klienta i łańcuch urzędów certyfikacji, co jest wymagane. Klient musi też być prawidłowo skonfigurowany pod kątem dwukierunkowego protokołu TLS.

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

<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>

Zgodnie z tą definicją:

  • Włącz dwukierunkowe szyfrowanie TLS, ustawiając dla zasady <ClientAuthEnabled> wartość prawda.
  • Określ odwołanie do magazynu zaufania za pomocą elementu <TrustStore>. Magazyn zaufania zawiera wydawcę certyfikatu klienta i łańcuch urzędów certyfikacji, co jest wymagane.

Definiowanie hosta wirtualnego, który używa bezpłatnego certyfikatu próbnego i klucza Apigee

Jeśli masz płatne konto Edge dla Cloud, ale nie masz jeszcze certyfikatu ani klucza TLS, możesz utworzyć hosta wirtualnego, który będzie używał bezpłatnego certyfikatu i klucza wersji próbnej Apigee. Oznacza to, że możesz utworzyć hosta wirtualnego bez wcześniejszego tworzenia magazynu kluczy.

Bezpłatny certyfikat próbny Apigee jest zdefiniowany dla domeny *.apigee.net. Dlatego pole <HostAlias> hosta wirtualnego musi również mieć format *.apigee.net.

Jeśli korzystasz z dwukierunkowego protokołu TLS, nadal musisz ustawić element <ClientAuthEnabled> na true i określić magazyn zaufania za pomocą odwołania z elementem <TrustStore> w sposób opisany powyżej w sekcji Definiowanie hosta wirtualnego dla dwukierunkowego protokołu TLS.

Obiekt XML określający hosta wirtualnego za pomocą certyfikatu próbnego i klucza Apigee pomija elementy <KeyStore> i <KeyAlias> i zastępuje je elementem <UseBuiltInFreeTrialCert>, jak w przykładzie poniżej:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Wartość domyślna elementu <UseBuiltInFreeTrialCert> to false (fałsz).

W przypadku dwukierunkowego protokołu TLS zdefiniuj hosta wirtualnego w ten sposób:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

W interfejsie użytkownika Edge wybierz opcję Użyj wbudowanego bezpłatnego certyfikatu próbnego podczas tworzenia hosta wirtualnego, aby używać bezpłatnego certyfikatu i klucza Apigee:

Wybierz Użyj wbudowanego bezpłatnego certyfikatu próbnego

Tworzenie hosta wirtualnego

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

  1. Utwórz na potrzeby tego przykładu wpis DNS i rekord CNAME dla swojej domeny dostępnej publicznie (api.myCompany.com), który wskazuje [org]-[environment].apigee.net.
  2. Utwórz i skonfiguruj magazyn kluczy o nazwie myTestKeystore w tym przykładzie, wykonując czynności opisane w tym artykule: Tworzenie magazynów kluczy i magazynu zaufania przy użyciu interfejsu Edge. W tym przykładzie sprawdź, czy na potrzeby certyfikatu i klucza prywatnego magazyn kluczy używa aliasu myKeyAlias.
  3. Prześlij certyfikat i klucz do magazynu kluczy. Upewnij się, że nazwa domeny określona w certyfikacie jest zgodna z aliasem hosta, którego chcesz używać w przypadku hosta wirtualnego.
  4. Utwórz odwołanie do magazynu kluczy za pomocą interfejsu użytkownika Edge lub interfejsu API. Odwołanie określa nazwę magazynu kluczy i typ odwołania jako KeyStore. Więcej informacji o tworzeniu i modyfikowaniu plików referencyjnych znajdziesz w artykule Praca z plikami referencyjnymi.

  5. Utwórz hosta wirtualnego za pomocą interfejsu API Create a Virtual Host (Utwórz hosta wirtualnego). Pamiętaj, aby podać prawidłowe odwołanie do magazynu kluczy i alias klucza. Aby użyć tego interfejsu API, użyj poniższego wywołania POST API do utworzenia magazynu kluczy o nazwie myTLSVHost:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -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>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Jeśli z klientem używasz dwukierunkowego protokołu TLS, ustaw <ClientAuthEnabled> na wartość true i określ magazyn zaufania za pomocą elementu <TrustStore>. Klient musi być prawidłowo skonfigurowany pod kątem dwukierunkowego protokołu TLS, co oznacza, że Edge ma magazyn zaufania zawierający wystawcę certyfikatu i łańcuch certyfikatów klienta. Utwórz magazyn zaufania, wykonując czynności opisane tutaj: Tworzenie magazynów kluczy i magazynu zaufania przy użyciu interfejsu użytkownika Edge.

  6. Jeśli masz istniejące serwery proxy interfejsu API, dodaj hosta wirtualnego do elementu <HTTPConnection> w punkcie ProxyEndpoint. 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.

Po zaktualizowaniu serwera proxy interfejsu API w celu używania hosta wirtualnego oraz utworzeniu wpisu DNS i 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

Modyfikowanie hosta wirtualnego

Modyfikowanie istniejącego hosta wirtualnego obejmuje 2 główne zadania, które klienci korzystający z Cloud wykonują:

  1. Zmodyfikowanie wartości odwołania na magazyn kluczy lub magazyn zaufania.

    Uwaga: gdy skonfigurujesz <KeyStore> lub <TrustStore> na korzystanie z pliku referencyjnego, możesz w każdej chwili zmienić jego wartość. Jeśli jednak kiedykolwiek zechcesz użyć innego pliku referencyjnego <KeyStore> lub <TrustStore> albo zmienić <KeyAlias> tak, aby używał innego aliasu, musisz skontaktować się z zespołem pomocy Apigee Edge.
  2. Zmodyfikowanie właściwości TLS hosta wirtualnego.

Modyfikowanie wartości pliku referencyjnego

Możesz zmodyfikować wartość odwołania, aby zmienić magazyn kluczy lub magazyn zaufania używany przez hosta wirtualnego.

Zanim zmienisz wartość pliku referencyjnego:

  1. Utwórz nowy magazyn kluczy i prześlij certyfikat oraz klucz zgodnie z opisem w sekcji Tworzenie magazynów kluczy i magazynu zaufanych certyfikatów przy użyciu interfejsu Edge. W nowym magazynie kluczy upewnij się, że używasz tej samej nazwy aliasu klucza co w istniejącym magazynie kluczy.
  2. W razie potrzeby utwórz nowy magazyn zaufania i prześlij certyfikat zgodnie z opisem w sekcji Tworzenie magazynów kluczy i magazynu zaufania przy użyciu interfejsu Edge.
  3. Zmień plik referencyjny zgodnie z opisem w sekcji Praca z plikami referencyjnymi.

Modyfikowanie właściwości TLS hosta wirtualnego

Klienci płacący mogą zaktualizować hosta wirtualnego za pomocą interfejsu API Update a Virtual Host. Ten interfejs API umożliwia ustawienie wszystkich właściwości hosta wirtualnego opisanego w dokumentacji właściwości hosta wirtualnego.

Gdy zmodyfikujesz hosta wirtualnego, Edge przeprowadza weryfikację podobną do podczas tworzenia hosta wirtualnego. To oznacza, że podczas modyfikacji Edge sprawdza, czy:

  • Domena określona przez alias hosta nie jest używana w innej organizacji i środowisku.
  • Nazwa domeny należy do Ciebie. Edge sprawdza, czy te informacje w certyfikacie są zgodne z aliasem hosta:
    • CN – Common Name (Nazwa pospolita)
    • SAN – Subject Alternative Name (Nazwa alternatywna podmiotu)
    • Edge sprawdza, czy certyfikat nie wygasł.

Aby zmodyfikować hosta wirtualnego przy użyciu interfejsu Edge API, wykonaj te czynności:

  1. Zaktualizuj hosta wirtualnego za pomocą interfejsu Update a Virtual Host API. Podczas korzystania z interfejsu API musisz określić w treści żądania pełną definicję hosta wirtualnego, a nie tylko elementy, które chcesz zmienić. W tym przykładzie ustawisz 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

Modyfikowanie hosta wirtualnego w celu użycia odwołań do magazynu kluczy i magazynu zaufanych certyfikatów

Wszystkie nowe hosty wirtualne dla Edge w Cloud używają odwołania do magazynu kluczy i magazynu zaufanych certyfikatów. Pliki referencyjne pozwalają zmienić magazyn kluczy i magazyn zaufania bez kontaktowania się z zespołem pomocy Apigee Edge.

Starsze hosty wirtualne w Apigee Edge mogą nie być skonfigurowane do używania odwołań do magazynów kluczy i magazynów zaufania. W takim przypadku możesz zaktualizować hosta wirtualnego, aby używać odwołania.

Aktualizowanie hosta wirtualnego na potrzeby odwołania

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

  1. W razie potrzeby utwórz nowy magazyn kluczy i prześlij certyfikat zgodnie z opisem w sekcji Tworzenie magazynów kluczy i magazynu zaufania przy użyciu interfejsu Edge. Jeśli masz już magazyn kluczy, możesz skonfigurować odwołanie, które do niego wskaże.
  2. Utwórz nowe odwołanie do magazynu kluczy.
  3. W razie potrzeby utwórz nowy magazyn zaufania i prześlij certyfikat. Jeśli masz już magazyn zaufania, możesz skonfigurować odwołanie, które do niego wskaże.
  4. Utwórz nowe odwołanie do magazynu zaufania.
  5. Zaktualizuj hosta wirtualnego, aby ustawić magazyn kluczy, alias, magazyn zaufania i inne właściwości TLS. Ładunek dla wywołania:
    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>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Skontaktuj się z zespołem pomocy Apigee, aby ponownie uruchomić routery brzegowe i dokończyć proces.