Konfigurowanie rozszerzenia SNI między serwerem Edge, a serwerem backendu

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

Wskazanie nazwy serwera (SNI) umożliwia obsługę wielu serwerów backendu HTTPS Adres IP i port bez konieczności używania tego samego certyfikatu TLS przez serwery backendu. Jest to rozszerzenie protokołu TLS. Po włączeniu SNI na kliencie nazwa hosta serwera backendu podczas początkowego uzgadniania połączenia TLS. Dzięki temu funkcja serwera TLS do określenia, którego certyfikatu należy użyć do walidacji żądania wysyłanego z klienta.

Domyślnie rozszerzenie SNI jest wyłączone w komponencie procesora wiadomości w Edge w chmurze prywatnej aby zapewnić zgodność wsteczną z istniejącymi serwerami backendu. Jeśli Twój serwer backendu to skonfigurowany pod kątem obsługi SNI, musisz włączyć SNI w komponencie podmiotu przetwarzającego wiadomości. W przeciwnym razie żądania do interfejsu API przechodzące przez Apigee Edge będą kończyć się niepowodzeniem z Błędy uzgadniania połączenia TLS.

W tym dokumencie opisujemy, jak:

Zanim zaczniesz

Identyfikacja serwera z włączonym SNI

Ta sekcja zawiera informacje o tym, jak sprawdzić, czy serwer backendu ma włączony interfejs SNI.

  1. Wykonaj polecenie openssl i spróbuj połączyć się z odpowiednią nazwą hosta serwera (router brzegowy lub serwer backendu) bez przekazywania nazwy serwera, jak pokazano poniżej:
    openssl s_client -connect hostname:port
    
  2. Możesz otrzymać certyfikaty. Czasem może wystąpić błąd uzgadniania połączenia openssl zgodnie z poniższym przykładem:
    CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
    
  3. Wykonaj polecenie openssl i spróbuj połączyć się z odpowiednim serwerem nazwę hosta (router brzegowy lub serwer backendu), przesyłając nazwę serwera w następujący sposób:
    openssl s_client -connect hostname:port -servername hostname
    
  4. Jeśli w kroku 1 wystąpi błąd uzgadniania połączenia lub uzyskasz inne certyfikaty w krokach 1 i 2, Wskazuje on, że określony serwer ma włączony interfejs SNI.
  5. Jeśli chcesz to potwierdzić w przypadku więcej niż 1 serwera backendu, musisz Powtórz powyższe kroki dla każdego serwera backendu.

Jeśli okaże się, że masz co najmniej jeden serwer backendu z włączonym rozszerzeniem SNI, konieczne jest włącz SNI w komponencie procesora wiadomości, jak opisano poniżej. W przeciwnym razie interfejs API żądania przechodzące przez Apigee Edge będą kończyć się niepowodzeniem z Błędy uzgadniania połączenia TLS.

Włącz SNI między procesorami wiadomości brzegowych a serwerem backendu

W tej sekcji wyjaśniono, jak włączyć rozszerzenie SNI między procesorem komunikatów na serwerach brzegowych a backendem serwera. SNI można włączyć za pomocą usługi jsse.enableSNIExtension w domenie w komponencie podmiotu przetwarzającego wiadomości. Aby skonfigurować dowolną właściwość w procesorze wiadomości, użyj zgodnie ze składnią opisaną w Jak skonfigurować Edge

Aby włączyć SNI w procesorach wiadomości, wykonaj te czynności:

  1. Znajdź token właściwości jsse.enableSNIExtension
  2. Włącz SNI w procesorze wiadomości

Znajdź token usługi jsse.enableSNIExtension

Poniższe kroki opisują, jak znaleźć token dla Właściwość jsse.enableSNIExtension:

  1. Wyszukaj właściwość jsse.enableSNIExtension w źródle procesora wiadomości w katalogu /opt/apigee/edge-message-processor/source za pomocą tego polecenia:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. Wynik tego polecenia zawiera token właściwości podmiotu przetwarzającego wiadomości jsse.enableSNIExtension w następujący sposób:
    /opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
    

    Gdzie ciąg znaków między tagami {T}{/T} to nazwa tokena, który można ustawić w pliku .properties procesora wiadomości.

    Dlatego token usługi jsse.enableSNIExtension wygląda tak:

    conf_system_jsse.enableSNIExtension
    

Włącz SNI w procesorze wiadomości

Poniższe kroki opisują, jak włączyć SNI w komponencie Apigee do przetwarzania wiadomości.

  1. Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli nie już istnieje, a następnie ją utwórz.
    /opt/apigee/customer/application/message-processor.properties
    

    Aby na przykład otworzyć plik przy użyciu vi wpisz to polecenie:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Dodaj do pliku właściwości wiersz w tym formacie:
    conf_system_jsse.enableSNIExtension=true
    
  3. Zapisz zmiany.
  4. Upewnij się, że plik właściwości należy do użytkownika apigee, jak pokazano poniżej:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Sprawdź, czy konfiguracja SNI jest zaktualizowana Procesor wiadomości.
  7. Jeśli masz więcej niż jeden procesor wiadomości, powtórz powyższe kroki na wszystkich Procesory wiadomości.

Wyłącz SNI między procesorami wiadomości brzegowych a serwerem backendu

Po włączeniu SNI nie powinny występować żadne problemy. Jeśli jednak zauważysz wszelkich problemów z połączeniem między procesorem komunikatów brzegowych a serwerem backendu po włączając SNI, zawsze możesz wyłączyć SNI, wykonując poniższe czynności.

Można wyłączyć SNI przez ustawienie właściwości jsse.enableSNIExtension powrót do false w komponencie procesora wiadomości.

Wyłącz SNI w procesorach wiadomości

Poniższe kroki opisują, jak wyłączyć SNI w procesorach wiadomości Apigee.

  1. Na komputerze z procesorem wiadomości otwórz poniższy plik w edytorze. Jeśli nie już istnieje, a następnie ją utwórz.
    /opt/apigee/customer/application/message-processor.properties
    

    Aby na przykład otworzyć plik przy użyciu vi wpisz to polecenie:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Jeśli wiersz conf_system_jsse.enableSNIExtension=true znajduje się w regionie /opt/apigee/customer/application/message-processor.properties, a następnie zmień ją jako następujące:
    conf_system_jsse.enableSNIExtension=false
    
  3. Zapisz zmiany.
  4. Upewnij się, że plik właściwości należy do użytkownika apigee, jak pokazano poniżej:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Sprawdź, czy konfiguracja SNI jest zaktualizowana Procesor wiadomości.
  7. Jeśli masz więcej niż jeden procesor wiadomości, powtórz powyższe kroki na wszystkich Procesory wiadomości.

Weryfikowanie konfiguracji SNI w procesorach komunikatów

Ta sekcja wyjaśnia, jak sprawdzić, czy konfiguracja SNI została poprawnie skonfigurowana. są już zaktualizowane w procesorach wiadomości.

Mimo że używasz tokena conf_system_jsse.enableSNIExtension do skonfiguruj SNI w procesorze wiadomości, musisz sprawdzić, czy rzeczywista usługa W polu jsse.enableSNIExtension ustawiono nową wartość.

  1. Na komputerze z procesorem wiadomości wyszukaj usługę jsse.enableSNIExtension w katalogu /opt/apigee/edge-message-processor/conf i sprawdź, czy nie została ustawiona na nową wartość, jak pokazano poniżej:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. Jeśli konfiguracja SNI zostanie zaktualizowana w procesorze wiadomości, pokazuje nową wartość w pliku system.properties.

    Przykładowy wynik z powyższego polecenia po włączeniu SNI w procesorze wiadomości jest taki:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
    

    Podobnie przykładowy wynik powyższego polecenia po wyłączeniu rozszerzenia SNI w Procesor wiadomości wygląda tak:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
    

    W przykładowych danych wyjściowych powyżej zwróć uwagę, że właściwość jsse.enableSNIExtension została zaktualizowana do nowej wartości true lub false w system.properties Oznacza to, że rozszerzenie SNI zostało włączone lub jest wyłączona w procesorze wiadomości.

  3. Jeśli nadal widzisz starą wartość właściwości jsse.enableSNIExtension: sprawdź, czy wykonano wszystkie czynności opisane w odpowiedniej sekcji, aby włączyć lub poprawnie wyłącz SNI. Jeśli pominiesz jakiś krok, powtórz je poprawnie.
  4. Jeśli nadal nie możesz włączyć/wyłączyć SNI , skontaktuj się z Obsługa Apigee Edge