Sessionpersistenz mit Sticky-Cookies aktivieren

Aktivieren Sie persistente Sessions mit Cookies in einem App-Gateway. Das Sticky-Cookie wird an denselben Backend-Server weitergeleitet.

Sie müssen nur Sticky-Unterstützung verwenden, wenn Sie mehrere Ursprünge nutzen. Dazu erstellen Sie einen NGINX-Upstreamblock.

  1. Aktivieren Sie das Sticky-Modul im App-Gateway, indem Sie die Datei /usr/local/nginx/conf/nginx.conf bearbeiten.
    • Fügen Sie unter der Zeile load_module /scratch/oracle/cloudgate/home/lib/idcs_cloudgate_ngx.so; Folgendes hinzu:
      load_module /scratch/oracle/cloudgate/home/lib/ngx_http_sticky_module.so;
    • Fügen Sie unter der Zeile include /usr/local/nginx/conf/agent_conf/*.conf; Folgendes hinzu:
      include /usr/local/nginx/conf/origin_conf/*.conf;
  2. Erstellen Sie mit folgendem Befehl einen NGINX-Upstreamblock:
    $ vi /usr/local/nginx/conf/origin_conf/myupstream.conf
    
    Add below entry to myupstream.conf
    upstream weblogic {
        sticky;
        server 100.111.190.221:7003;
        server 100.111.190.220:7003;
    }
  3. Ändern Sie den Ursprungsserver.
    1. Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Domains aus.
    2. Klicken Sie auf den Namen der Identitätsdomain, in der Sie arbeiten möchten. Möglicherweise müssen Sie das Compartment ändern, um die gewünschte Domain zu finden. Klicken Sie anschließend auf Sicherheit und dann auf App-Gateways.
    3. Wählen Sie unter Ressourcen Apps aus, und wählen Sie das App-Gateway aus.
    4. Ändern Sie in den App-Details den Ursprungsserver so, dass er auf den Upstream zeigt.

Sticky-Parameter

upstream {
  sticky;  
  server 127.0.0.1:9001;
  server 127.0.0.1:9002;
}

  sticky [hash=index|md5|sha1] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [hmac=md5|sha1 hmac_key=<foobar_key>] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];
   or
  sticky [text=raw] [no_fallback]
       [name=route] [domain=.example.com] [path=/] [expires=1h] [secure] [httponly];

Serverauswahlalgorithmus

Algorithmus Beschreibung
hash

Der Hashmechanismus zum Codieren des Upstreamservers. Er kann nicht mit hmac oder text verwendet werden.

  • md5|sha1. Standardfunktionen für kryptografische Hashs zum Codieren der Informationen.
  • index. Die Informationen werden nicht gehasht. Stattdessen wird ein In-Memory-Index verwendet. Das ist schneller und weniger aufwendig. Der Abgleich mit der Upstreamserverliste ist aber inkonsistent, und Indexwerte entsprechen möglicherweise nicht demselben Server, wenn der Upstreamserver geändert wurde. Verwenden Sie index nur, wenn Sie sicher sind, dass Sie diese Methode trotzdem verwenden möchten.

Der Standardwert lautet md5.

hmac Der HMAC-Hashmechanismus zum Codieren des Upstreamservers. Er entspricht dem Hashmechanismus, verwendet aber hmac_key, um das Hashing zu sichern. Er kann nicht mit hash oder text verwendet werden.
hmac_key Der kryptografische Schlüssel, der mit hmac verwendet wird. Legen Sie hmac_key fest, wenn Sie hmac verwenden.
no_fallback Legen Sie dieses Flag so fest, dass ein 502-Fehler (ungültiges Gateway oder Proxyfehler) zurückgegeben wird, wenn eine Anforderung mit einem Cookie versehen und das entsprechende Backend nicht verfügbar ist. Sie können es auf den Upstreamblock setzen oder sticky_no_fallback in einem Server oder Speicherortblock festlegen.

Cookieeinstellungen

Festlegen Beschreibung
name Der Name des Cookies, mit dem der persistente Upstreamserver verfolgt wird. Der Standardwert lautet route.
domain Die Domain, in der das Cookie gültig ist. Der Standardwert lautet none, wenn der Browser die Domain verarbeitet.
path Den Pfad, in dem das Cookie gültig ist. Der Standard ist /.
expires

Die Gültigkeitsdauer des Cookies. Der Standardwert lautet nothing. Das bedeutet, dass es sich um ein Sessioncookie handelt, das gelöscht wird, wenn der Client heruntergefahren wird.

Geben Sie einen Wert ein, damit das Cookie nach der angegebenen Zeit abläuft. Der Wert wird relativ zum Client festgelegt und muss auf einen Zeitraum über einer Sekunde festgelegt werden.

secure Aktivieren Sie sichere Cookies (nur mit HTTPS übertragen).
httponly Teilt dem Browser mit, dass nur der Server auf das Cookie zugreifen kann.