Sicheres Deployment mit Reverse Proxy

Erfahren Sie, wie Sie den Reverse-Proxyservice mit NGINX für den Zugriff auf Oracle GoldenGate-Microservices ohne Portnummern konfigurieren.

Voraussetzungen für die Nutzung von ReverseProxySettings

Sie können jeden Reverse-Proxy-Service mit MA verwenden. Das folgende Beispiel enthält einen Prozess, mit dem Sie andere Reverse Proxy-Dienste in Verbindung mit der Dokumentation für Ihren Proxyserver konfigurieren können.

Die folgenden Voraussetzungen enthalten Details zu den Mindestanforderungen für die Konfiguration eines NGINX-Reverse Proxy. Ähnliche Anforderungen können für Ihre Umgebung und den Reverse Proxy erforderlich sein, wenn Sie ein anderes Utility für die Proxykonfiguration verwenden.

Hinweis: Stellen Sie bei der Installation von Oracle GoldenGate 26ai auf Oracle Linux 8 oder RHEL 8 sicher, dass die NGINX-Version 1.24 oder höher ist, indem Sie den entsprechenden NGINX-Modulstream aktivieren.

  1. Installieren Sie NGINX. Informationen hierzu finden Sie unter NGINX-Webserver und -Proxy unter Oracle Linux installieren. Bei Oracle Linux lautet der Befehl zur Installation von NGINX:

    yum -y install nginx

  2. Prüfen Sie, ob die JRE-Version JRE 8 oder höher ist.

  3. Installieren Sie Oracle GoldenGate MA.

  4. Erstellen Sie mindestens ein aktives MA-Deployment.

  5. Stellen Sie sicher, dass der Oracle-Benutzer über sudo-Berechtigungen verfügt.

  6. Konfigurieren Sie die Umgebungsvariable PATH so, dass sie den Pfad des NGINX-Installationsverzeichnisses enthält.

Utility ReverseProxySettings zur Konfiguration von NGINX ausführen

Eine Installation von Oracle GoldenGate Microservices Architecture umfasst das Utility ReverseProxySettings. Das Utility ReverseProxySettings befindet sich im Verzeichnis $OGG_HOME/lib/utl/reverseproxy.

Um zusätzliche Befehle zu identifizieren, die mit dem Utility ReverseProxySettings verwendet werden können, führen Sie das Utility mit der Option --help aus:

$OGG_HOME/lib/utl/reverseproxy/ReverseProxySettings --help

Mit dem Utility ReverseProxySettings sind folgende Optionen verfügbar:

-o oder -output

Der Ausgabedateiname. Der Standarddateiname ist ogg.conf.

-P oder -password

Ein Kennwort für ein Service Manager-Konto.

-l oder -log

Logdateiname und initiiert das Logging. Die Standardeinstellung ist kein Logging.

–trailOnly

Nur für eingehende Traildaten konfigurieren.

-t oder -type

Der Proxyservertyp. Der Standardwert ist Nginx.

-s oder –no-ssl

Ohne SSL konfigurieren.

-h oder -host

Der virtuelle Hostname für Reverse Proxy.

-p oder -port

Die Reverse Proxy Port-Nummer. Der Standardwert ist 80 oder 443.

-? oder –help

Verwendungsinformationen anzeigen.

-u oder –user

Name des zu verwendenden Service Manager-Accounts.

-v oder -version

Zeigt die Version an.

Utility ReverseProxySettings ausführen

So verwenden Sie das Utility ReverseProxySettings:

  1. Um eine Konfigurationsdatei für den NGINX-Reverse Proxy zu generieren, navigieren Sie zum Speicherort des Utilitys ReverseProxySettings:

    cd $OGG_HOME/lib/utl/reverseproxy
  2. Führen Sie das Utility ReverseProxySetting aus:

    ReverseProxySettings -u *adminuser* -P *adminpwd* -o ogg.conf http://localhost:9100

    In diesem Code-Snippet ist adminuser der Deployment-Benutzername und adminpwd das Deployment-Benutzerkennwort für die Anmeldung beim Deployment.

  3. Kopieren Sie die in Schritt 2 generierte Datei ogg.conf in das Verzeichnis /etc/nginx/conf.d.

    sudo cp ogg.conf /etc/nginx/conf.d/.
  4. Aktualisieren Sie die Datei ogg.conf für SSL-/TLS-Einstellungen wie folgt:

    1. Suchen Sie die Zeile ssl_ciphers, und ersetzen Sie sie wie folgt:

      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305;
    2. Fügen Sie unter dieser Zeile eine weitere Zeile hinzu:

      ssl_conf_command Ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256;
    3. Wenn Sie ein selbstsigniertes Zertifikat verwenden, stellen Sie sicher, dass der Private Key und die Zertifikatsdatei pem in das Verzeichnis /etc/nginx kopiert werden, wie im folgenden Beispiel dargestellt:

      sudo cp ogg.key /etc/nginx/.
      sudo cp ogg.pem /etc/nginx/.

      Ändern Sie die folgenden zwei Zeilen, um auf den richtigen Dateispeicherort zu zeigen:

      ssl_certificate          /etc/nginx/ogg.pem;
      ssl_certificate_key      /etc/nginx/ogg.key;
    4. Wenn Sie ein von einer Root-CA signiertes Zertifikat verwenden, stellen Sie sicher, dass alle Zwischen-CA-Zertifikate zu Ihrem Serverzertifikat hinzugefügt wurden:

      cat server_cert.pem intermediate_ca_cert1.pem intermediate_ca_cert2.pem > ogg_chain.pem

      Kopieren Sie den Private Key und die Zertifikatskette in /etc/nginx:

      sudo cp ogg_chain.pem /etc/nginx/.
      sudo cp ogg_key /etc/nginx/.

      Ändern Sie die folgenden zwei Zeilen, um auf den richtigen Dateispeicherort zu zeigen:

      ssl_certificate         /etc/nginx/ogg_chain.pem;
      ssl_certificate_key     /etc/nginx/ogg.key;
  5. Validieren Sie die NGINX-Konfiguration:

    sudo nginx -t

    Die Ausgabe würde Folgendes anzeigen, wenn der Befehl erfolgreich ist:

    NGINX: the configuration file /etc/NGINX/NGINX.conf syntax is ok
    NGINX: configuration file /etc/NGINX/NGINX.conf test is successful
  6. Starten Sie den NGINX-Service neu:

    sudo systemctl restart nginx

    Wenn die Änderungen für die Konfigurationsdatei nicht geladen werden, stoppen Sie den Proxy, und starten Sie ihn neu.

  7. Um zu testen, ob Sie auf die Microservices zugreifen können, nachdem NGINX erfolgreich eingerichtet wurde, öffnen Sie den Webbrowser.

  8. Geben Sie die Proxy-URL für den Service Manager mit Portnummer 443 wie folgt ein:

    http://dc.example.com:443

    Dadurch wird die Service Manager-Anmeldeseite geöffnet, von der aus Sie auch auf die anderen Microservices zugreifen können. Wenn Sie direkt auf einen Microservice zugreifen möchten, können Sie die Proxy-URL für diesen Microservice eingeben, wie in der zuvor generierten Datei ogg.conf angegeben.

Lesen Sie auch dieses Video zur Konfiguration des NGINX-Reverse-Proxys.

SSL-Ende

Wenn eine unsichere Verbindung zwischen dem Reverse-Proxy, der eine TLS-basierte Verbindung verwendet, und dem Ursprungsserver besteht, wird dies als Reverse-Proxy-SSL-Beendigung bezeichnet. Hinweis: Bei SSL-Beendigung sind die Verbindungen zwischen dem Reverse Proxy und den Ursprungsservern unsicher.

SSL-Bridging wird jedoch auch dort unterstützt, wo die Verbindungen zwischen Client und Reverse-Proxy gesichert sind und auch die Verbindung zwischen Reverse-Proxy und Ursprungsserver gesichert ist.

Hinweis: mTLS wird nicht unterstützt, wenn ein Reverse Proxy verwendet wird.