<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Server Name Indication (SNI) ermöglicht die Bereitstellung mehrerer HTTPS-Back-End-Server vom selben IP-Adresse und Port, ohne dass diese Backend-Server dasselbe TLS-Zertifikat verwenden müssen. Es ist eine Erweiterung des TLS-Protokolls. Wenn SNI auf einem Client aktiviert ist, übergibt der Client Der Hostname des Back-End-Servers als Teil des ersten TLS-Handshakes. Dadurch können die TLS-Servers, um zu bestimmen, welches TLS-Zertifikat zur Validierung der Anfrage vom Client.
Standardmäßig ist SNI in der Message Processor-Komponente in Edge für die Private Cloud deaktiviert um die Abwärtskompatibilität mit den bestehenden Back-End-Servern sicherzustellen. Wenn Ihr Backend-Server muss SNI für die Message Processor-Komponente aktiviert werden. Andernfalls schlagen die API-Anfragen über Apigee Edge fehl. TLS-Handshake-Fehler
In diesem Dokument wird Folgendes erläutert:
- Ermitteln, ob ein Backend-Server SNI aktiviert ist
- Aktivieren Sie SNI auf den Nachrichtenprozessoren, um mit dem Back-End zu kommunizieren. Server, die SNI unterstützen
- Deaktivieren Sie SNI auf den Message Processors bei Bedarf.
- Überprüfen Sie, ob die SNI-Konfiguration erfolgreich aktualisiert wurde auf der Nachrichtenprozessoren
Hinweis
- Wenn Sie mit SNI nicht vertraut sind, lesen Sie SNI mit Edge verwenden
- Wenn Sie mit dem Konfigurieren von Edge in Private Cloud nicht vertraut sind, lesen Sie So konfigurieren Sie Edge
Identifizierung des SNI-fähigen Servers
In diesem Abschnitt wird beschrieben, wie Sie feststellen können, ob ein Back-End-Server SNI-fähig ist.
-
Führen Sie den Befehl
openssl
aus und versuchen Sie, eine Verbindung zum relevanten Serverhostnamen herzustellen (Edge-Router oder Backend-Server) ohne den Servernamen zu übergeben, wie unten gezeigt:openssl s_client -connect hostname:port
-
Möglicherweise erhalten Sie die Zertifikate und manchmal sehen Sie den Handshake-Fehler im
openssl
-Befehl wie unten gezeigt:
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
-
Führen Sie den Befehl
openssl
aus und versuchen Sie, eine Verbindung zum relevanten Server herzustellen. Hostnamen (Edge-Router oder Backend-Server) an, indem Sie den Servernamen übergeben, wie unten gezeigt:openssl s_client -connect hostname:port -servername hostname
- Wenn in Schritt 1 ein Handshakefehler auftritt oder Sie in Schritt 1 und Schritt 2 unterschiedliche Zertifikate erhalten, zeigt sie an, dass der angegebene Server SNI-fähig ist.
- Wenn Sie dies für mehr als einen Backend-Server überprüfen möchten, müssen Sie wiederholen Sie die obigen Schritte für jeden Back-End-Server.
Wenn du feststellst, dass du einen oder mehrere Back-End-Server mit SNI hast, musst du SNI für die Message Processor-Komponente aktivieren (siehe unten) Andernfalls wird die API schlagen Anfragen über Apigee Edge fehl: TLS-Handshake-Fehler
SNI zwischen Edge Message Processor und Backend-Server aktivieren
In diesem Abschnitt wird erläutert, wie Sie SNI zwischen dem Edge Message Processor und dem Back-End aktivieren
Server. SNI kann über die Eigenschaft jsse.enableSNIExtension
auf
Message Processor-Komponente. Verwenden Sie zum Konfigurieren von Eigenschaften im Message Processor
das Token gemäß der Syntax, die in
So konfigurieren Sie Edge
Gehen Sie wie folgt vor, um SNI auf den Message Processors zu aktivieren:
Token für jsse.enableSNIExtension
-Property suchen
In den folgenden Schritten wird beschrieben, wie Sie das Token für den
jsse.enableSNIExtension
-Property:
-
Suchen Sie in der Message Processor-Quelle nach dem Attribut
jsse.enableSNIExtension
Verzeichnis/opt/apigee/edge-message-processor/source
mit dem folgenden Befehl:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
Die Ausgabe dieses Befehls zeigt das Token für das Attribut des Message Processor an.
jsse.enableSNIExtension
so:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
Dabei ist der String zwischen den
{T}{/T}
-Tags der Name des Tokens, das die Sie in der Datei.properties
des Message Processor festlegen können.Das Token für das Attribut
jsse.enableSNIExtension
lautet daher so:conf_system_jsse.enableSNIExtension
SNI im Message Processor aktivieren
In den folgenden Schritten wird beschrieben, wie Sie SNI in der Apigee Message Processor-Komponente aktivieren.
- Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor. Falls nicht,
bereits vorhanden sind, dann erstellen Sie sie.
/opt/apigee/customer/application/message-processor.properties
Um die Datei beispielsweise mit
vi
, geben Sie den folgenden Befehl ein:vi /opt/apigee/customer/application/message-processor.properties
-
Fügen Sie der Eigenschaftendatei eine Zeile im folgenden Format hinzu:
conf_system_jsse.enableSNIExtension=true
- Speichern Sie die Änderungen.
-
Achten Sie darauf, dass diese Property-Datei dem Nutzer
apigee
gehört, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Starten Sie den Message Processor wie unten gezeigt neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Überprüfen Sie, ob die SNI-Konfiguration auf dem Message Processor.
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie diese Schritte für alle Message Processors.
SNI zwischen Edge Message Processor und Backend-Server deaktivieren
Im Allgemeinen sollten nach der Aktivierung von SNI keine Probleme auftreten. Wenn Sie jedoch Verbindungsprobleme zwischen Edge Message Processor und dem Backend-Server Wenn du SNI aktiviert hast, kannst du SNI jederzeit deaktivieren, indem du die folgenden Schritte ausführst:
SNI kann durch Festlegen der Eigenschaft jsse.enableSNIExtension
deaktiviert werden.
zurück zu false
für die Message Processor-Komponente.
SNI auf den Message Processors deaktivieren
In den folgenden Schritten wird beschrieben, wie Sie SNI auf den Apigee Message Processors deaktivieren.
-
Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor. Falls nicht,
bereits vorhanden sind, dann erstellen Sie sie.
/opt/apigee/customer/application/message-processor.properties
Um die Datei beispielsweise mit
vi
, geben Sie den folgenden Befehl ein:vi /opt/apigee/customer/application/message-processor.properties
-
Wenn die Zeile
conf_system_jsse.enableSNIExtension=true
vorhanden ist in/opt/apigee/customer/application/message-processor.properties
und ändern Sie es dann so: folgt:conf_system_jsse.enableSNIExtension=false
- Speichern Sie die Änderungen.
-
Achten Sie darauf, dass diese Property-Datei dem Nutzer
apigee
gehört, wie unten gezeigt:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Starten Sie den Message Processor wie unten gezeigt neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Überprüfen Sie, ob die SNI-Konfiguration auf dem Message Processor.
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die obigen Schritte für alle Message Processors.
SNI-Konfiguration auf den Nachrichtenprozessoren verifizieren
In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob die SNI-Konfiguration erfolgreich war. die Message Processors aktualisiert.
Auch wenn Sie das Token conf_system_jsse.enableSNIExtension
für
konfigurieren Sie SNI auf dem Message Processor, müssen Sie überprüfen, ob die Property
jsse.enableSNIExtension
wurde mit dem neuen Wert festgelegt.
-
Suchen Sie auf dem Message Processor-Computer nach der Eigenschaft
jsse.enableSNIExtension
. im Verzeichnis/opt/apigee/edge-message-processor/conf
und prüfen Sie, wie unten dargestellt mit dem neuen Wert festgelegt:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Wenn die SNI-Konfiguration auf dem Message Processor erfolgreich aktualisiert wurde, ist der
wird der neue Wert in der Datei
system.properties
angezeigt.Das Ergebnis des obigen Befehls, nachdem Sie SNI auf dem Message Processor aktiviert haben lautet:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
Ähnlich verhält es sich mit dem Ergebnis des obigen Befehls, nachdem Sie SNI auf der Der Message Processor lautet wie folgt:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Beachten Sie, dass in der obigen Beispielausgabe das Attribut
jsse.enableSNIExtension
wurde auf den neuen Werttrue
oderfalse
insystem.properties
. Dies weist darauf hin, dass SNI erfolgreich aktiviert wurde oder im Message Processor deaktiviert. -
Wenn immer noch der alte Wert für die Eigenschaft
jsse.enableSNIExtension
angezeigt wird, dann Vergewissern Sie sich, dass Sie alle Schritte ausgeführt haben, die im entsprechenden Abschnitt beschrieben sind, oder SNI korrekt deaktivieren. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte noch einmal richtig. - Wenn Sie SNI immer noch nicht aktivieren/deaktivieren können , wenden Sie sich an Apigee Edge-Unterstützung