Regelsets für Load Balancer
Verwenden Sie Regelsets, die aus Aktionen bestehen, die auf den Traffic des Listeners eines Load Balancers angewendet werden.
Ein Regelset ist ein benanntes Set von Regeln, das mit einem Load Balancer verknüpft ist und auf einen oder mehrere Listener in diesem Load Balancer angewendet wird. Um ein Regelset auf einen Listener anzuwenden, erstellen Sie zuerst das Regelset, das die Regeln enthält. Regeln sind Objekte, die Aktionen darstellen, die auf Traffic an einem Load Balancer Listener angewendet werden. Das Regelset wird Teil der Konfiguration des Load Balancers. Sie können das zu verwendende Regelset angeben, wenn Sie einen Listener für den Load Balancer erstellen oder aktualisieren.
Sie können die folgenden Regeltypen in ein Regelset aufnehmen:
Zugriffskontrollregeln, die Zugriff auf Anwendungsressourcen basierend auf der Quelle der Anforderung einschränken.
Zugriffsmethodenregeln, die die zulässigen HTTP-Methoden angeben.
URL-Umleitungsregeln, die eingehende HTTP-Anforderungen zu einer anderen Ziel-URL umleiten.
Anforderungs- und Antwortheaderregeln, die HTTP-Anforderungsheader oder HTTP-Antwortheader hinzufügen, ändern oder entfernen.
HTTP-Headerregeln, welche die Größe des HTTP-Header angeben und festlegen, welche Zeichen innerhalb der Header zulässig sind.
Max. Listener-Verbindungsregeln, mit denen die maximalen IP-Verbindungen für einen Listener angegeben werden.
Regelsets gelten nur für HTTP-Listener.
Wenden Sie ein vorhandenes Regelset an, wenn Sie einen Listener bearbeiten. Sie können dasselbe Regelset auf verschiedene Listener im selben Load Balancer anwenden.
Regelsets können nicht gemeinsam verwendet werden. Um dasselbe Regelset in einem anderen Load Balancer zu verwenden, müssen Sie ein neues, identisches Regelset unter diesem Load Balancer erstellen.
In einem Regelset sind bis zu 20 Regeln zulässig. Sie können einem Load Balancer maximal 50 Regeln zuordnen.
Sie können die folgenden Verwaltungsaufgaben für Pfadroutensets ausführen:
Auflisten der Regelsets für einen Load Balancer.
Erstellen Sie ein neues Regelset für einen Load Balancer.
Details eines Regelsets abrufen.
Bearbeiten Sie die Einstellungen eines Regelsets.
Löschen Sie ein Regelset aus einem Load Balancer.
Weitere Informationen zur Verwaltung von Load Balancer Listenern finden Sie unter Listener.
Zugriffskontrollregeln
Zugriffskontrollregeln ermöglichen Zugriff auf Anwendungsressourcen basierend auf benutzerdefinierten Bedingungen für den Abgleich von IP-Adressen oder Adressbereichen. Wenn Sie keine Access Control-Regeln angeben, wird standardmäßig sämtlicher Traffic zugelassen. Wenn Sie Access Control-Regeln hinzufügen, verweigert der Load Balancer jeglichen Traffic, der nicht mit den Regeln übereinstimmt.
Der Service akzeptiert nur Zeichenfolgen im Classless Inter-Domain Routing-(CIDR-)Format (x.x.x.x/y oder x:x::x/y
) als Abgleichsbedingung.
Geben Sie 0.0.0.0/0
oder ::/0
an, um sämtlichen eingehenden Traffic abzugleichen.
Nur US Government Cloud-Regionen lassen Werte von IPv6 zu.
Zugriffsmethodenregeln
Zugriffsmethodenregeln geben die HTTP-Methoden an, die am zugehörigen Listener zulässig sind. Der Load Balancer leitet nicht unzulässige Anforderungen an die Backend-Server weiterzu und gibt eine 405 Method Not Allowed
-Antwort mit einer Liste zulässiger Methoden zurück. Sie können nur eine Liste mit zulässigen Methoden einem bestimmten Listener zuordnen.
Standardmäßig können Sie nur die Standard-HTTP-Methoden angeben, die in der HTTP-Methoden-Registry definiert sind. Die Liste der HTTP-Methoden ist erweiterbar. Wenn Sie benutzerdefinierte HTTP-Methoden konfigurieren müssen, wenden Sie sich an My Oracle Support, um die Einschränkung aus Ihrem Mandanten zu entfernen. Die Backend-Anwendung muss die angegebenen Methoden verarbeiten können.
In der folgenden Liste sind die HTTP-Standardmethoden aufgeführt:
ACL | BASELINE-CONTROL | BIND |
CHECKIN | CHECKOUT | CONNECT |
COPY | DELETE | GET |
HEAD | LABEL | LINK |
LOCK | MERGE | MKACTIVITY |
MKCALENDAR | MKCOL | MKREDIRECTREF |
MKWORKSPACE | MOVE | OPTIONS |
ORDERPATCH | PATCH | POST |
PRI | PROPFIND | PROPPATCH |
PUT | REBIND | REPORT |
SEARCH | TRACE | UNBIND |
UNCHECKOUT | UNLINK | UNLOCK |
UPDATE | UPDATEREDIRECTREF | VERSION-CONTROL |
URL-Umleitungsregeln
URL-Umleitungsregeln legen fest, wie eingehende HTTP-Anforderungen zu einer anderen Ziel-URL umgeleitet werden sollen. URL-Umleitungsregeln gelten nur für HTTP-Listener. Sie konfigurieren jede Umleitungsregel für einen bestimmten Listener und einen bestimmten Pfad. Ein Listener kann nur eine Umleitungsregel für einen bestimmten eingehenden URL-Pfad haben.
Wenn Sie eine URL-Umleitungsregel erstellen, geben Sie die Pfadzeichenfolge und die Abgleichsbedingung an, die der Service verwendet, um eine eingehende URL zur Umleitung auszuwerten. Außerdem definieren Sie die Umleitungs-URL und den Antwortcode.
Auswertung der eingehenden Pfadzeichenfolge
Sie geben die Pfadzeichenfolge oder das Muster an, das bzw. die in der eingehenden URL ausgewertet werden soll. Beispiel:
/video
Außerdem geben Sie die Abgleichsbedingung an, die bei der Auswertung der eingehenden URL für die Umleitung angewendet werden soll. Die folgenden Abgleichstypen stehen zur Verfügung:
- FORCE_LONGEST_PREFIX_MATCH
Das System sucht nach einer Umleitungsregelpfadzeichenfolge mit der besten und längsten Übereinstimmung des ersten Teils des eingehenden URL-Pfads.
- EXACT_MATCH
Der eingehende URL-Pfad muss genau mit der angegebenen Pfadzeichenfolge übereinstimmen.
- PREFIX_MATCH
Der erste Teil des eingehenden URL-Pfads muss genau mit der angegebenen Pfadzeichenfolge übereinstimmen.
- SUFFIX_MATCH
Der letzte Teil des eingehenden URL-Pfads muss genau mit der angegebenen Pfadzeichenfolge übereinstimmen.
Die eingehende URL-Pfadzeichenfolge kann keine Abfrage enthalten.
Erstellung der Umleitungs-URL
Sie definieren die Umleitungs-URL, die auf die ursprüngliche Anforderung angewendet wird. URL-Umleitungsregeln erkennen die folgenden URL-Komponenten:
<protocol>://<host>:<port>/<path>?<query>
Sie können eine literale Zeichenfolge oder ein Token für eine beliebige Komponente angeben. Token extrahieren Werte aus der eingehenden HTTP-Anforderungs-URL. Bei Token wird die Groß-/Kleinschreibung berücksichtigt. Beispiel: {host}
ist ein gültiges Token, doch {HOST}
ist es nicht.
- Protokoll
Das HTTP-Protokoll, das in der Umleitungs-URL verwendet werden soll. Gültige Werte sind HTTP und HTTPS.
Das Token
{protocol}
extrahiert das Protokoll aus der eingehenden HTTP-Anforderungs-URL. Es ist das einzige gültige Token für diese Eigenschaft. - Host
Der gültige Domainname oder die gültige IP-Adresse zur Verwendung in der Umleitungs-URL.
Das Token
{host}
extrahiert den Host aus der eingehenden HTTP-Anforderungs-URL. Alle URL-Umleitungstoken sind für diese Eigenschaft gültig. Sie können jedes Token mehr als einmal verwenden.Geschweifte Klammern {} sind in dieser Eigenschaft nur gültig, wenn sie Token umgeben.
- Port
Der Kommunikationsport, der in der Umleitungs-URL verwendet werden soll. Gültige Werte sind Ganzzahlen von 1 bis 65535.
Das Token
{port}
extrahiert den Port aus der eingehenden HTTP-Anforderungs-URL Es ist das einzige gültige Token für diese Eigenschaft. - Pfad
Der HTTP-URL-Pfad, der in der Umleitungs-URL verwendet werden soll. Um den Pfad aus der Umleitungs-URL auszulassen, setzen Sie diesen Wert auf eine leere Zeichenfolge.
Das Token
{path}
extrahiert die Pfadzeichenfolge aus der eingehenden HTTP-Anforderungs-URL. Alle URL-Umleitungstoken sind für diese Eigenschaft gültig. Sie können jedes Token mehr als einmal verwenden.Wenn die Pfadzeichenfolge nicht mit dem Token
{path}
beginnt, muss sie mit einem Schrägstrich / beginnen. - Abfrage
Die Abfragezeichenfolge, die in der Umleitungs-URL verwendet werden soll. Um alle eingehenden Abfrageparameter aus der Umleitungs-URL auszulassen, setzen Sie diesen Wert auf eine leere Zeichenfolge.
Das Token
{query}
extrahiert die Abfragezeichenfolge aus der eingehenden HTTP-Anforderungs-URL. Alle URL-Umleitungstoken sind für diese Eigenschaft gültig. Sie können jedes Token mehr als einmal verwenden.Wenn die Abfragezeichenfolge nicht mit dem Token
{query}
beginnt, muss sie mit einem Fragezeichen (?) beginnen.Sie können verschiedene Abfrageparameter als einzelne Zeichenfolge angeben. Trennen Sie die einzelnen Abfrageparameter durch ein Et-Zeichen &.
Wenn die angegebene Abfagezeichenfolge in einer Umleitungs-URL resultiert, die mit ? oder & endet, wird das letzte Zeichen abgeschnitten. Beispiel: Wenn die eingehende URL
http://host.com:8080/documents
und der Abfrageeigenschaftswert?lang=en&{query}
lauten, lautet die Umleitungs-URLhttp://host.com:8080/documents?lang=en
. Das System schneidet das abschließende Et-Zeichen & ab, weil die eingehende URL keinen Wert enthält, der das Token{query}
ersetzt.
Wenn nicht in mindestens einem URL-Komponentenfeld ein Wert angegeben wird, kann das zu einer Umleitungsschleife führen.
Manuelle Erstellung der Umleitungs-URL
Die Konsole enthält Texteingabefelder für jede URL-Komponente. Sie können die vollständige Umleitungs-URL auch manuell angeben.
Sie können die literalen Zeichen eines Tokens beibehalten, wenn Sie Werte für die Pfad- und Abfrageeigenschaften der Umleitungs-URL angeben. Verwenden Sie einen umgekehrten Schrägstrich \ als Escapezeichen für die Zeichen \, { und }. Beispiel: Wenn die eingehende HTTP-Anforderungs-URL /video
lautet, wird der Pfadeigenschaftswert /example{path}123\{path\}
in der erstellten Umleitungs-URL als /example/video123{path}
angezeigt.
Beispiele für Pfad- und Abfragezeichenfolgen:
- /example/video/123 wird in der Umleitungs-URL als
/example/video/123
angezeigt. - /example{path} wird in der Umleitungs-URL als
/example/video/123
angezeigt, wenn/video/123
dem Pfad in der eingehenden HTTP-Anforderungs-URL entspricht. - {path}/123 wird in der Umleitungs-URL als
/example/video/123
angezeigt, wenn/example/video
dem Pfad in der eingehenden HTTP-Anforderungs-URL entspricht. - {path}123 wird in der Umleitungs-URL als
/example/video123
angezeigt, wenn/example/video
in der eingehenden HTTP-Anforderungs-URL dem Pfad entspricht. - /{host}/123 wird in der Umleitungs-URL als
/example.com/123
angezeigt, wennexample.com
dem Hostnamen in der eingehenden HTTP-Anforderungs-URL entspricht. - /{host}/{port} wird in der Umleitungs-URL als
/example.com/123
angezeigt, wennexample.com
in der eingehenden HTTP-Anforderungs-URL dem Hostnamen und123
dem Port entspricht. - /{query} wird in der Umleitungs-URL als
/lang=en
angezeigt, wenn die Abfrage in der eingehenden HTTP-Anforderungs-URLlang=en
lautet. - lang=en&time_zone=PST wird in der Umleitungs-URL als
lang=en&time_zone=PST
angezeigt. - {query} wird in der Umleitungs-URL als
lang=en&time_zone=PST
angezeigt, wennlang=en&time_zone=PST
der Abfragezeichenfolge in der eingehenden HTTP-Anforderung entspricht. Wenn die eingehende HTTP-Anforderung keine Abfrageparameter aufweist, wird das Token{query}
als leere Zeichenfolge gerendert. - lang=en&{query}&time_zone=PST wird in der Umleitungs-URL als
lang=en&country=us&time_zone=PST
angezeigt, wenncountry=us
in der eingehenden HTTP-Anforderung der Abfragezeichenfolge entspricht. Wenn die eingehende HTTP-Anforderung keine Abfrageparameter aufweist, wird dieser Wert alslang=en&time_zone=PST
gerendert. - protocol={protocol}&hostname={host} wird in der Umleitungs-URL als
protocol=http&hostname=example.com
angezeigt, wenn das Protokoll in der eingehenden HTTP-Anforderunghttp
und der Hostnameexample.com
lautet. - port={port}&hostname={host} wird in der Umleitungs-URL als
port=8080&hostname=example.com
angezeigt, wenn der Port in der eingehenden HTTP-Anforderungs-URL8080
und der Hostnameexample.com
lautet.
Antwortcode
Sie können den HTTP-Statuscode angeben, der zurückgegeben werden soll, wenn die eingehende Anforderung umgeleitet wird. Gültige Antwortcodes für die Umleitung aus der Standard-HTTP-Spezifikation sind:
301 Moved Permanently
302 Found
303 See Other
307 Temporary Redirect
308 Permanent Redirect
Der Standardwert lautet 302 Found
.
Anforderungs- und Antwortheaderregeln
Mit Anforderungs- und Antwortheaderregeln können HTTP-Anforderungsheader oder HTTP-Antwortheader hinzugefügt, geändert oder entfernt werden. Mit diesen Regeln können Sie Metadaten an die Backend-Server übergeben, wodurch Folgendes möglich wird:
- Identifizierung des Listeners, der eine Anforderung gesendet hat.
- Benachrichtigung eines Backend-Servers über SSL-Beendigung.
Beispiele dafür, wie Sie mit Regelsets die Sitesicherheit verbessern können:
- Header hinzufügen, um zu verhindern, dass externe Domains iFrames in Ihre Site einbetten.
- Debug-Header (z.B. "Server") entfernen, die von Backend-Servern gesendet werden. Mit dieser Aktion können Sie die Implementierungsdetails zu Ihrem Backend verbergen.
- Den Header "strict-transport-security" mit einem geeigneten Wert zu Antworten hinzufügen. Mit diesem Header ist gewährleistet, dass der Zugriff auf Ihre Site nur über HTTPS erfolgt.
- Den Header "x-xss-protection" mit einem geeigneten Wert hinzufügen. Mit diesem Header können Sie den Cross-Site-Scripting-(XSS-)Schutz durchsetzen, der in moderne Browser integriert ist.
- Den Header "x-content-type" mit einem geeigneten Wert hinzufügen. Mit diesem Header können Sie Angriffe basierend auf einem Wechsel des Inhaltstyps verhindern.
Wenn Sie den integrierten Hostheader oder einen der X-Header hinzufügen oder entfernen, wie unter "HTTP "X"-Header" beschrieben, wird der Headerwert nicht entfernt oder außer Kraft gesetzt. Stattdessen kann die Ausführung dieser Aktionen Werte anhängen oder den Header duplizieren.
Beispiel: WebLogic benachrichtigen, dass der Load Balancer SSL beendet hat
Sie können den Load Balancer so konfigurieren, dass er SSL-Beendigung ausführt. Oftmals müssen Backend-Anwendungen über diese Aktion benachrichtigt werden. Beispiel: HTTPS WebLogic e-Commerce Online Transaction Processing sucht nach dem Header WL-Proxy-SSL
, um zu bestätigen, dass eine Anforderung über SSL einging. Mit Regelsets können Sie diesen Header am Load Balancer Listener hinzufügen.
Aus Sicherheitsgründen ignoriert WebLogic diesen Header, sofern Sie nicht das Kontrollkästchen WebLogic Plug-in aktiviert in den Administrationskonsole von WebLogic aktivieren.
HTTP-Headerregeln
HTTP-Headerregeln geben die Größe des HTTP-Headers an und legen fest, welche Zeichen innerhalb der Header zulässig sind.
- Die HTTP-Headerregel HTTP-Headerpuffergröße erhöht die Größe eines Puffers zum Lesen des HTTP-Clientanforderungsheaders und der Backend-Serverantwort von 8 KB auf bis zu 64 KB. Der Puffer wird für die Überlaufsteuerung verwendet. Jede Anforderungs- oder Antwortheaderzeile muss in diesen Puffer passen. Daher müssen Anwendungen, die große HTTP-Headerzeilen verwenden, diesen Parameter optimieren.
- Mit der HTTP-Headerregel Ungültige Zeichen in HTTP-Header zulassen können Zahlen, Bindestriche und Unterstriche in HTTP-Header aufgenommen werden.
Weitere Informationen zum Implementieren von HTTP-Headerregeln finden Sie unter Regelset erstellen.
Regeln für maximale Listener-Verbindung
Mit der Regel "Max Listener Connect" können Sie sowohl eine einheitliche maximale Anzahl von Listener-Verbindungen für alle IP-Adressen anwenden als auch Überschreibungen für diesen einheitlichen Wert für einzelne von Ihnen identifizierte IP-Adressen angeben.
- Sie können einen Standardwert für maximale Verbindungen festlegen, der für alle IP-Adressen gilt, für die keine bestimmten Höchstwerte festgelegt sind. Wenn Sie diesen Standardwert nicht festlegen, ist die Anzahl der Verbindungen, die eine IP an einen Listener herstellen kann, unbegrenzt.
- Sie können auch Höchstwerte für eine oder mehrere IP-Adressen festlegen, die den Standardwert für maximale Verbindungen außer Kraft setzen.
Weitere Informationen zum Implementieren von Regeln für maximale Listener-Verbindungen finden Sie unter Regelset erstellen.