SNI zwischen Edge Message Processor und dem Back-End-Server konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

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:

Hinweis

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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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.
  5. 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

<ph type="x-smartling-placeholder">

Gehen Sie wie folgt vor, um SNI auf den Message Processors zu aktivieren:

  1. Token für das Attribut „jsse.enableSNIExtension“ suchen
  2. SNI im Message Processor aktivieren

Token für jsse.enableSNIExtension-Property suchen

In den folgenden Schritten wird beschrieben, wie Sie das Token für den jsse.enableSNIExtension-Property:

  1. 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
    
  2. 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.

  1. Ö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
    
  2. Fügen Sie der Eigenschaftendatei eine Zeile im folgenden Format hinzu:
    conf_system_jsse.enableSNIExtension=true
    
  3. Speichern Sie die Änderungen.
  4. 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
    
  5. Starten Sie den Message Processor wie unten gezeigt neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Überprüfen Sie, ob die SNI-Konfiguration auf dem Message Processor.
  7. 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.

<ph type="x-smartling-placeholder">

SNI auf den Message Processors deaktivieren

In den folgenden Schritten wird beschrieben, wie Sie SNI auf den Apigee Message Processors deaktivieren.

  1. Ö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
    
  2. 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
    
  3. Speichern Sie die Änderungen.
  4. 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
    
  5. Starten Sie den Message Processor wie unten gezeigt neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Überprüfen Sie, ob die SNI-Konfiguration auf dem Message Processor.
  7. 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.

  1. 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
    
  2. 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 Wert true oder false in system.properties. Dies weist darauf hin, dass SNI erfolgreich aktiviert wurde oder im Message Processor deaktiviert.

  3. 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.
  4. Wenn Sie SNI immer noch nicht aktivieren/deaktivieren können , wenden Sie sich an Apigee Edge-Unterstützung