Konfigurowanie TLS z Edge do backendu (chmura i chmura prywatna)

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

Serwer proxy interfejsu API działa jak mapowanie publicznie dostępnego punktu końcowego na usługę backendu. Host wirtualny określa sposób, w jaki publicznie dostępny serwer proxy interfejsu API jest dostępny dla aplikacji. Dla: na przykład host wirtualny określa, czy można uzyskać dostęp do serwera proxy interfejsu API przy użyciu protokołu TLS. Gdy skonfigurować serwer proxy interfejsu API, edytować jego definicję punktu końcowego serwera proxy, aby skonfigurować hosty wirtualne, które zastosowań.

Docelowy punkt końcowy to wychodzący odpowiednik ProxyEndpoint. Funkcje docelowego punktu końcowego jako klient HTTP z Edge do usługi backendu. Podczas tworzenia serwera proxy interfejsu API możesz skonfigurować , aby użyć 0 lub więcej punktów docelowych.

Więcej informacji:

konfigurowanie docelowego punktu końcowego lub TargetServer

Aby skonfigurować docelowy punkt końcowy, zmodyfikuj obiekt XML, który go definiuje. Dostępne opcje wyedytuj wartość TargetEndpoint przez edycję pliku XML, który definiuje go w pliku Serwer proxy interfejsu API lub zmodyfikuj go w interfejsie zarządzania brzegiem.

Aby zmodyfikować docelowy punkt końcowy za pomocą interfejsu zarządzania brzegiem:

  1. Zaloguj się w interfejsie zarządzania brzegiem na stronie https://enterprise.apigee.com.
  2. Wybierz nazwę serwera proxy interfejsu API, który chcesz zaktualizować.
  3. Kliknij kartę Develop.
  4. W sekcji Docelowe punkty końcowe wybierz domyślne.
  5. W obszarze kodu pojawi się definicja docelowego punktu końcowego, podobna do tej:
    <TargetEndpoint name="default">
      <Description/>
      <FaultRules/>
      <Flows/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <HTTPTargetConnection>
        <Properties/>
        <SSLInfo>
          <Enabled>true</Enabled>
          <TrustStore>ref://myTrustStoreRef</TrustStore>
        </SSLInfo>
        <URL>https://mocktarget.apigee.net</URL>
      </HTTPTargetConnection>
    </TargetEndpoint>
  6. Skonfiguruj magazyn zaufania w sposób opisany poniżej w sekcji Informacje o konfiguracji TLS z backendem
  7. Wprowadź zmiany i zapisz serwer proxy. Jeśli serwer proxy interfejsu API został wdrożony, zapisanie go ponownie wdroży ją z nowym ustawieniem.

Zwróć uwagę, że definicja punktu końcowego zawiera właściwość name. Używasz wartości właściwość name skonfigurować definicję ProxyEndpoint serwera proxy interfejsu API tak, aby używała Docelowy punkt końcowy. Więcej informacji znajdziesz w dokumentacji konfiguracji serwera proxy interfejsu API.

Element TargetEndpoints można skonfigurować tak, aby odwoływał się do serwera docelowego zamiast jawnego docelowego adresu URL. Konfiguracja serwera docelowego oddziela konkretne adresy URL punktów końcowych od Konfiguracje docelowego punktu końcowego. Serwery docelowe są używane do równoważenia obciążenia i przełączania awaryjnego między wieloma instancjami serwera backendu.

Poniżej znajduje się przykładowa definicja serwera docelowego:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>80</Port>
  <IsEnabled>true</IsEnabled>
</TargetServer> 

Do serwera docelowego odwołuje się nazwa w <HTTPTargetConnection> w definicji elementu TargetEndpoint. Możesz skonfigurować jeden lub więcej nazwanych serwerów docelowych, jak pokazano poniżej.

<TargetEndpoint name="default">
  ...
  <HTTPTargetConnection>
    <LoadBalancer>
      <Server name="target1" />
      <Server name="target2" />
    </LoadBalancer>
    <Path>/test</Path>
  </HTTPTargetConnection>
  ...
</TargetEndpoint>

Zobacz Równoważenie obciążenia między serwerami backendu.

Informacje o konfiguracji TLS z backendem

Zanim skonfigurujesz dostęp TLS do backendu, zapoznaj się z 2 ważnymi pkt.:

  1. Domyślnie Edge nie weryfikuje certyfikatu backendu. Aby skonfigurować, musisz utworzyć magazyn zaufania Edge, aby zweryfikować certyfikat.
  2. Użyj odwołania, aby określić magazyn kluczy lub magazyn zaufania używany przez Edge.

Poniżej znajdziesz opis obu tych kwestii.

Definiowanie magazynu zaufania w celu włączenia weryfikacji certyfikatu

Gdy wysyłasz żądanie TLS przez punkt końcowy lub serwer docelowy, Edge nie domyślnie sprawdzają certyfikat TLS odebrany z serwera backendu. Oznacza to, że Edge nie sprawdza, czy:

  • Certyfikat został podpisany przez zaufany urząd certyfikacji.
  • Certyfikat nie wygasł.
  • Certyfikat zawiera imię i nazwisko. Jeśli istnieje powszechna nazwa, Edge nie przejdzie weryfikacji że wspólne imię i nazwisko jest zgodne z nazwą hosta podaną w adresie URL.

Aby skonfigurować Edge pod kątem walidacji certyfikatu backendu, musisz:

  1. Utwórz magazyn zaufania w Edge.
  2. Prześlij certyfikat lub łańcuch certyfikatów serwera do magazynu certyfikatów. Jeśli certyfikat serwera został podpisany przez inną firmę, musisz przesłać plik kompletny łańcuch certyfikatów, w tym główny certyfikat CA, w magazynie zaufania. Nie ma żadnych niejawnie zaufanych urzędów certyfikacji.
  3. Dodaj magazyn zaufania do definicji punktu końcowego docelowego lub serwera docelowego.
.

Więcej informacji znajdziesz w sekcji Magazyny kluczy i magazyny zaufania.

Na przykład:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

Za pomocą pliku referencyjnego do magazynu kluczy lub zaufania

Poniższy przykład pokazuje, jak skonfigurować docelowy punkt końcowy lub serwer docelowy obsługują protokół TLS. Podczas konfigurowania protokołu TLS określasz magazyn zaufania i magazyn kluczy jako Definicja punktu końcowego lub serwera docelowego.

Apigee zdecydowanie zaleca użycie odwołania do magazynu kluczy w definicji „TargetEndpoints” lub „TargetServer”. Zalety korzystania z pliku referencyjnego jest to, że wystarczy zaktualizować odwołanie, aby wskazywało inny magazyn kluczy lub magazyn zaufania, zaktualizować certyfikat TLS.

Odniesienia do magazynów kluczy i magazynów zaufania w Definicja punktu końcowego lub serwera docelowego działa tak samo w przypadku hostów wirtualnych.

Konwertowanie elementu TargetEndpoint lub TargetServer na użycie odwołania

Możesz mieć istniejące definicje punktu końcowego lub serwera docelowego, używa nazwy literału magazynu kluczy i magazynu zaufania. Konwertowanie docelowego punktu końcowego lub definicji serwera docelowego, aby użyć odwołań:

  1. Zaktualizuj definicję punktu końcowego lub serwera docelowego, aby użyć odwołania.
  2. Uruchom ponownie procesory wiadomości na serwerach brzegowych:
    • Jeśli jesteś klientem Public Cloud, skontaktuj się z zespołem pomocy Apigee Edge, aby ponownie uruchomić procesory wiadomości.
    • W przypadku klientów Private Cloud uruchom ponownie procesory wiadomości na serwerach brzegowych za jednym razem.
  3. Sprawdź, czy docelowy punkt końcowy lub serwer docelowy działa prawidłowo.

Konfigurowanie jednokierunkowego połączenia TLS do backendu serwer

Konfigurowanie jednokierunkowego dostępu TLS z Edge (klienta TLS) przy użyciu definicji punktu końcowego. do serwera backendu (serwera TLS) nie wymaga dodatkowej konfiguracji na Edge. Jest z serwerem backendu, aby poprawnie skonfigurować TLS.

Musisz tylko upewnić się, że element <URL> w Definicja punktu końcowego odwołuje się do usługi backendu przy użyciu protokołu HTTPS włącz TLS:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

Jeśli do definiowania usługi backendu używasz serwera docelowego, włącz TLS w definicji serwera docelowego:

<TargetServer name="target1">
  <Host>mocktarget.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
  </SSLInfo> 
</TargetServer> 

Jeśli jednak chcesz, aby Edge weryfikował certyfikat backendu, musisz utworzyć magazyn zaufania który zawiera certyfikat lub łańcuch certyfikatów backendu. Następnie określasz magazyn zaufania w Definicja docelowego punktu końcowego:

<TargetEndpoint name="default">
  …
  <HTTPTargetConnection>
    <SSLInfo>
      <Enabled>true</Enabled>
      <TrustStore>ref://myTrustStoreRef</TrustStore>
    </SSLInfo>
    <URL>https://myservice.com</URL>
  </HTTPTargetConnection>
  …
</TargetEndpoint>

Lub w definicji serwera docelowego:

<TargetServer name="target1">
  <Host>mockserver.apigee.net</Host>
  <Port>443</Port>
  <IsEnabled>true</IsEnabled>
  <SSLInfo>
    <Enabled>true</Enabled>
    <TrustStore>ref://myTrustStoreRef</TrustStore>
  </SSLInfo> 
</TargetServer>

Aby skonfigurować jednokierunkowe połączenia TLS:

  1. Jeśli chcesz zweryfikować certyfikat backendu, utwórz magazyn zaufania na Edge i prześlij certyfikatu lub łańcucha urzędu certyfikacji backendu, tak jak to opisano w Magazyny kluczy i magazyny zaufania. Jeśli w tym przykładzie trzeba utworzyć magazyn zaufania, nadaj mu nazwę myTrustStore.
  2. Jeśli magazyn zaufania został utworzony, użyj poniższego wywołania POST API, aby utworzyć odniesienie o nazwie myTrustStoreRef do utworzonego magazynu zaufania powyżej:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
      -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
      </ResourceReference>' -u email:password
    
  3. Użyj interfejsu zarządzania brzegiem, aby zaktualizować definicję docelowego punktu końcowego dla serwera proxy interfejsu API (lub jeśli określasz serwer proxy interfejsu API w formacie XML, zmodyfikuj pliki XML serwera proxy:
    1. Zaloguj się w interfejsie zarządzania brzegiem na stronie https://enterprise.apigee.com.
    2. W menu interfejsu zarządzania Edge wybierz Interfejsy API.
    3. Wybierz nazwę serwera proxy interfejsu API, który chcesz zaktualizować.
    4. Kliknij kartę Programowanie.
    5. W sekcji Docelowe punkty końcowe wybierz domyślne.
    6. W obszarze kodu zmodyfikuj element <HTTPTargetConnection> na dodaj element <SSLInfo>. Określ prawidłowe odwołanie do magazynu zaufania i ustaw <Enabled> na wartość true:
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <TrustStore>ref://myTrustStoreRef</TrustStore>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        …
      </TargetEndpoint>
    7. Zapisz serwer proxy interfejsu API. Jeśli serwer proxy interfejsu API został wdrożony, zapisanie go spowoduje ponowne wdrożenie go za pomocą nowe ustawienie.

Konfigurowanie dwukierunkowego połączenia TLS do backendu serwer

Jeśli chcesz zapewnić obsługę dwukierunkowego protokołu TLS między brzegiem brzegu (klientem TLS) a serwerem backendu (TLS) serwer):

  • Utwórz magazyn kluczy w Edge i prześlij certyfikat Edge oraz klucz prywatny.
  • Jeśli chcesz zweryfikować certyfikat backendu, utwórz w Edge magazyn zaufania zawierający certyfikat i łańcuch urzędów certyfikacji otrzymanych z serwera backendu.
  • Zaktualizuj docelowy punkt końcowy wszystkich serwerów proxy interfejsu API, które odwołują się do serwera backendu, aby go skonfigurować Dostęp TLS.
.

Użycie aliasu klucza do określenia certyfikatu magazynu kluczy

W tym samym magazynie kluczy możesz zdefiniować wiele certyfikatów, każdy z własnym aliasem. Domyślnie Edge używa pierwszego certyfikatu zdefiniowanego w magazynie kluczy.

Opcjonalnie możesz skonfigurować Edge tak, aby używała certyfikatu określonego przez właściwość <KeyAlias>. Dzięki temu możesz zdefiniować jeden magazyn kluczy na wiele certyfikatów. wybierz ten, którego chcesz użyć w definicji serwera docelowego. Jeśli Edge nie może znaleźć certyfikatu z aliasem pasujące do <KeyAlias>, użyje domyślnego działania, czyli wyboru pierwszy certyfikat w magazynie kluczy.

Aby włączyć tę funkcję, użytkownicy Edge for Public Cloud muszą skontaktować się z zespołem pomocy Apigee Edge.

Konfigurowanie dwukierunkowego protokołu TLS

Aby skonfigurować dwukierunkowe protokół TLS:

  1. Utwórz magazyn kluczy w Edge i prześlij certyfikat oraz klucz prywatny zgodnie z procedurą opisane tutaj: Keystores i Truststores. W tym przykładzie utwórz magazyn kluczy o nazwie myTestKeystore, który korzysta z alias nazwy myKey dla certyfikatu i klucza prywatnego.
  2. Aby utworzyć odwołanie, użyj poniższego wywołania interfejsu POST API o nazwie myKeyStoreRef (odniesienie do magazynu kluczy) utworzonego powyżej:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myKeyStoreRef">
        <Refers>myTestKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    

    Odwołanie określa nazwę magazynu kluczy i typ odwołania jako KeyStore.

    Aby wyświetlić odniesienie, użyj następującego wywołania interfejsu GET API:

    curl -X GET https://api.enterprise.apigee.com/v1/o/[org_name}/e/{env_name}/references/myKeyStoreRef /
    -u email:password
    
  3. Jeśli chcesz zweryfikować certyfikat backendu, utwórz magazyn zaufania w Edge i prześlij certyfikat oraz urząd certyfikacji zgodnie z opisem w tym artykule: Keystores and Truststores. W tym przykładzie musisz utworzyć nazwę magazynu zaufania: myTrustStore.
  4. Jeśli magazyn zaufania został utworzony, użyj poniższego wywołania POST API, aby utworzyć odniesienie o nazwie myTrustStoreRef do utworzonego magazynu zaufania powyżej:

    curl -X POST  -H "Content-Type:application/xml" https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/references \
    -d '<ResourceReference name="myTrustStoreRef">
        <Refers>myTrustKeystore</Refers>
        <ResourceType>KeyStore</ResourceType>
    </ResourceReference>' -u email:password
    
  5. Użyj interfejsu zarządzania brzegiem, aby zaktualizować definicję docelowego punktu końcowego dla serwera proxy interfejsu API (lub jeśli określasz serwer proxy interfejsu API w formacie XML, zmodyfikuj pliki XML serwera proxy:
    1. Zaloguj się w interfejsie zarządzania brzegiem na stronie https://enterprise.apigee.com.
    2. W menu interfejsu zarządzania Edge wybierz Interfejsy API.
    3. Wybierz nazwę serwera proxy interfejsu API, który chcesz zaktualizować.
    4. Kliknij kartę Programowanie.
    5. W sekcji Docelowe punkty końcowe wybierz domyślne.
    6. W obszarze kodu zmodyfikuj element <HTTPTargetConnection> na dodaj <SSLInfo> . Pamiętaj, aby określić właściwy magazyn kluczy i alias kluczy oraz ustawić zarówno Elementy <Enabled> i <ClientAuthEnabled> mają wartość true (prawda):
      <TargetEndpoint name="default">
        ...
        <HTTPTargetConnection>
          <SSLInfo>
            <Enabled>true</Enabled>
            <ClientAuthEnabled>true</ClientAuthEnabled>
            <KeyStore>ref://myKeyStoreRef</KeyStore>
            <KeyAlias>myKey</KeyAlias>
          </SSLInfo>
          <URL>https://myservice.com</URL>
        </HTTPTargetConnection>
        ...
      </TargetEndpoint>
    7. Zapisz serwer proxy interfejsu API. Jeśli serwer proxy interfejsu API został wdrożony, zapisanie go spowoduje ponowne wdrożenie go za pomocą nowe ustawienie.

Więcej informacji o opcjach dostępnych w <TargetEndpoint>, w tym o korzystaniu ze zmiennych aby podać wartości punktu docelowego punktu końcowego <SSLInfo>, zapoznaj się z dokumentacją konfiguracji serwera proxy interfejsu API.

Włączam SNI

Edge obsługuje w celu kierowania na serwer SNI (Server Name Indication) z procesorów wiadomości punkty końcowe w Apigee Edge dla Cloud i wdrożeń w chmurze prywatnej.

Aby zapewnić zgodność wsteczną z istniejącymi backendami docelowymi w Edge dla chmury prywatnej, Apigee domyślnie wyłączono SNI. Jeśli docelowy backend jest skonfigurowany do obsługi SNI, możesz włączyć tę funkcję. Więcej informacji znajdziesz w artykule Korzystanie z SNI z Edge.