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:
- Sprawdzanie, czy serwer backendu ma włączony interfejs SNI
- Aby komunikować się z backendem, włącz SNI w procesorach wiadomości serwery obsługujące SNI
- W razie potrzeby wyłącz SNI w procesorach wiadomości
- Sprawdź, czy konfiguracja SNI została zaktualizowana na Procesory wiadomości
Zanim zaczniesz
- Jeśli nie znasz jeszcze SNI, przeczytaj Używanie SNI na brzegu sieci
- Jeśli nie wiesz, jak skonfigurować Edge w Private Cloud, przeczytaj Jak skonfigurować Edge
Identyfikacja serwera z włączonym SNI
Ta sekcja zawiera informacje o tym, jak sprawdzić, czy serwer backendu ma włączony interfejs SNI.
-
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
-
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
-
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
- 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.
- 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:
Znajdź token usługi jsse.enableSNIExtension
Poniższe kroki opisują, jak znaleźć token dla
Właściwość jsse.enableSNIExtension
:
-
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
-
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.
- 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
-
Dodaj do pliku właściwości wiersz w tym formacie:
conf_system_jsse.enableSNIExtension=true
- Zapisz zmiany.
-
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
-
Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Sprawdź, czy konfiguracja SNI jest zaktualizowana Procesor wiadomości.
- 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.
-
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
-
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
- Zapisz zmiany.
-
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
-
Ponownie uruchom procesor wiadomości, jak pokazano poniżej:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Sprawdź, czy konfiguracja SNI jest zaktualizowana Procesor wiadomości.
- 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ść.
-
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
-
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ścitrue
lubfalse
wsystem.properties
Oznacza to, że rozszerzenie SNI zostało włączone lub jest wyłączona w procesorze wiadomości. -
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. - Jeśli nadal nie możesz włączyć/wyłączyć SNI , skontaktuj się z Obsługa Apigee Edge