Set di regole per i load balancer

Utilizzare set di regole composti da azioni applicate al traffico del listener di un load balancer.

Un set di regole è un insieme di regole specifico associato a un load balancer e applicato a uno o più listener di tale load balancer. Per applicare un set di regole a un listener, è innanzitutto necessario creare il set di regole che contiene le regole. Le regole sono oggetti che rappresentano azioni applicate al traffico in un listener del load balancer. Il set di regole diventa parte della configurazione del load balancer. È possibile specificare il set di regole da utilizzare quando si crea o aggiorna un listener per il load balancer.

In un set di regole è possibile includere i tipi di regole riportati di seguito.

Regole di controllo dell'accesso, che limitano l'accesso alle risorse dell'applicazione in base all'origine della richiesta.

Regole del metodo di accesso, che specificano i metodi HTTP consentiti.

Regole di reindirizzamento URL, che instradano le richieste HTTP in entrata a un URL di destinazione diverso.

Regole di intestazione di richiesta e risposta, che aggiungono, modificano o rimuovono le intestazioni di richiesta o risposta HTTP.

Regole di intestazione HTTP, che specificano la dimensione dell'intestazione HTTP e i caratteri consentiti nelle intestazioni.

Numero massimo di regole di connessione listener, che specificano il numero massimo di connessioni IP per un listener.

Nota

I set di regole si applicano solo ai listener HTTP.

Applicare un set di regole esistente quando si modifica un listener. È possibile applicare lo stesso set di regole a più listener sullo stesso load balancer.

I set di regole non sono condivisi tra i load balancer. Per utilizzare lo stesso set di regole su un altro load balancer, è necessario creare un nuovo set di regole identico sotto tale load balancer.

In un set di regole sono consentite fino a 20 regole. Puoi associare un massimo di 50 regole a un load balancer.

È possibile eseguire i task di gestione dei set di instradamento percorso riportati di seguito.

Elencare i set di regole per un load balancer.

Creare un nuovo set di regole per un load balancer.

Recupera i dettagli di un set di regole.

Modificare le impostazioni di un set di regole.

Eliminare un set di regole da un load balancer.

Per ulteriori informazioni sulla gestione dei listener del load balancer, vedere Listeners.

Regole controllo accesso

Le regole di controllo dell'accesso consentono l'accesso alle risorse dell'applicazione in base alle condizioni di corrispondenza dell'indirizzo IP o dell'intervallo di indirizzi specificate dall'utente. Se non si specificano regole di controllo dell'accesso, la regola predefinita prevede l'abilitazione di tutto il traffico. Se si aggiungono regole di controllo dell'accesso, il load balancer nega qualsiasi traffico non corrispondente alle regole.

Il servizio accetta solo stringhe di formato CIDR (classless inter-domain routing) (x.x.x.x/y or x:x::x/y) per la condizione di corrispondenza.

Specificare 0.0.0.0/0 o ::/0 in modo che corrisponda a tutto il traffico in entrata.

Nota

Solo le region cloud del governo degli Stati Uniti consentono valori IPv6.

Regole metodo di accesso

Le regole del metodo di accesso specificano i metodi HTTP consentiti nel listener associato. Il load balancer non inoltra una richiesta non consentita ai server backend e restituisce una risposta 405 Method Not Allowed con una lista dei metodi consentiti. È possibile associare una sola lista di metodi consentiti a un listener specifico.

Per impostazione predefinita, è possibile specificare solo i metodi HTTP standard definiti nel registro dei metodi HTTP. La lista dei metodi HTTP è estensibile. Se è necessario configurare metodi HTTP personalizzati, contattare My Oracle Support per rimuovere la limitazione dalla tenancy. L'applicazione backend deve essere in grado di gestire i metodi specificati.

L'elenco seguente mostra i metodi HTTP predefiniti:

Metodi HTTP predefiniti
ACL BASELINE-CONTROLLO BIND
ESTRAI CHECK-OUT CONNESSIONE
COPIA ELIMINA GET
Intestazione ETICHETTA LINK
LOCK MERGE MKACTIVITY
MKCALENDAR COLLEZIONE MKREDIRECTREF
AREA DI LAVORO MK Sposta OPZIONI
PATCH ORDINE PATCH POST
PRI TROVA PROPPATCH
PUT RIAUTENTICA REPORT
CERCA TRACE ANNULLA ASSOCIAZIONE
ANNULLA CHECK-OUT ANNULLA COLLEGAMENTO SBLOCCA
AGGIORNA UPDATEREDIRECTREF CONTROLLO VERSIONE

Regole di reindirizzamento URL

Le regole di reindirizzamento URL specificano come instradare le richieste HTTP in entrata a un URL di destinazione diverso. Le regole di reindirizzamento URL si applicano solo ai listener HTTP. È possibile configurare ogni regola di reindirizzamento per un listener specifico e un percorso specificato. Un listener può avere una sola regola di reindirizzamento per un determinato percorso URL in entrata.

Quando si crea una regola di reindirizzamento URL, si specifica la stringa di percorso e la condizione di corrispondenza utilizzata dal servizio per valutare un URL in entrata per il reindirizzamento. È inoltre possibile definire l'URL di reindirizzamento e il codice di risposta.

Valutazione stringa percorso in entrata

Specificare la stringa o il pattern di percorso da valutare nell'URL in entrata. Ad esempio:

/video

È inoltre possibile specificare la condizione di corrispondenza da applicare durante la valutazione dell'URL in entrata per il reindirizzamento. I tipi di corrispondenza disponibili sono i seguenti:

  • FORCE_LONGEST_PREFIX_MATCH

    Il sistema cerca una stringa del percorso della regola di reindirizzamento con la corrispondenza migliore e più lunga della parte iniziale del percorso URL in entrata.

  • EXACT_MATCH

    Il percorso dell'URL in entrata deve corrispondere esattamente alla stringa di percorso specificata.

  • PREFIX_MATCH

    La parte iniziale del percorso URL in entrata deve corrispondere esattamente alla stringa di percorso specificata.

  • SUFFIX_MATCH

    La parte finale del percorso URL in entrata deve corrispondere esattamente alla stringa di percorso specificata.

Nota

La stringa del percorso URL in entrata non può includere una query.

Costruzione URL di reindirizzamento

Definire l'URL di reindirizzamento applicato alla richiesta originale. Le regole di reindirizzamento URL riconoscono i seguenti componenti URL:

<protocol>://<host>:<port>/<path>?<query>

È possibile specificare una stringa letterale o fornire un token per qualsiasi componente. I token estraggono i valori dall'URL della richiesta HTTP in entrata. I token fanno distinzione tra maiuscole e minuscole. Ad esempio, {host} è un token valido, ma {HOST} non lo è.

  • Protocollo

    Il protocollo HTTP da utilizzare nell'URL di reindirizzamento. I valori validi sono HTTP e HTTPS.

    Il token {protocol} estrae il protocollo dall'URL della richiesta HTTP in entrata. L'unico token valido per questa proprietà.

  • Host

    Nome di dominio o indirizzo IP valido da utilizzare nell'URL di reindirizzamento.

    Il token {host} estrae l'host dall'URL della richiesta HTTP in entrata. Tutti i token di reindirizzamento URL sono validi per questa proprietà. È possibile utilizzare più volte qualsiasi token.

    Le parentesi graffe {} sono valide in questa proprietà solo per racchiudere i token.

  • Porta

    La porta di comunicazione da utilizzare nell'URL di reindirizzamento. I valori validi includono numeri interi compresi tra 1 e 65535.

    Il token {port} estrae la porta dall'URL della richiesta HTTP in entrata. L'unico token valido per questa proprietà.

  • Percorso

    Percorso URL HTTP da utilizzare nell'URL di reindirizzamento. Per omettere il percorso dall'URL di reindirizzamento, impostare questo valore su una stringa vuota.

    Il token {path} estrae la stringa di percorso dall'URL della richiesta HTTP in entrata. Tutti i token di reindirizzamento URL sono validi per questa proprietà. È possibile utilizzare più volte qualsiasi token.

    Se la stringa di percorso non inizia con il token {path}, deve iniziare con una barra /.

  • Query

    Stringa di query da utilizzare nell'URL di reindirizzamento. Per omettere tutti i parametri di query in entrata dall'URL di reindirizzamento, impostare questo valore su una stringa vuota.

    Il token {query} estrae la stringa di query dall'URL della richiesta HTTP in entrata. Tutti i token di reindirizzamento URL sono validi per questa proprietà. È possibile utilizzare più volte qualsiasi token.

    Se la stringa di query non inizia con il token {query}, deve iniziare con un punto interrogativo? .

    È possibile specificare più parametri di query come singola stringa. Separare ogni parametro di query con una e commerciale &.

    Se la stringa di query specificata restituisce un URL di reindirizzamento che termina con ? o &, l'ultimo carattere viene troncato. Ad esempio, se l'URL in entrata è http://host.com:8080/documents e il valore della proprietà della query è ?lang=en&{query}, l'URL di reindirizzamento è http://host.com:8080/documents?lang=en. Il sistema tronca la e commerciale finale & perché l'URL in entrata non include alcun valore per sostituire il token {query}.

Importante

Se non si specifica un valore per almeno un campo componente URL, può verificarsi un loop di reindirizzamento.

Creazione URL reindirizzamento manuale

La console fornisce campi di immissione testo per ogni componente URL. È inoltre possibile specificare manualmente l'URL di reindirizzamento completo.

È possibile conservare i caratteri letterali di un token quando si specificano i valori per il percorso e le proprietà di query dell'URL di reindirizzamento. Usare una barra rovesciata \ come carattere di escape per i caratteri \, { e }. Ad esempio, se l'URL della richiesta HTTP in entrata è /video, il valore della proprietà del percorso /example{path}123\{path\} viene visualizzato nell'URL di reindirizzamento costruito come /example/video123{path}.

Alcuni esempi di percorso e stringa di query:

  • /example/video/123 viene visualizzato come /example/video/123 nell'URL di reindirizzamento.
  • /example{path} viene visualizzato come /example/video/123 nell'URL di reindirizzamento quando /video/123 è il percorso nell'URL della richiesta HTTP in entrata.
  • {path}/123 viene visualizzato come /example/video/123 nell'URL di reindirizzamento quando /example/video è il percorso nell'URL della richiesta HTTP in entrata.
  • {path}123 viene visualizzato come /example/video123 nell'URL di reindirizzamento quando /example/video è il percorso nell'URL della richiesta HTTP in entrata.
  • /{host}/123 viene visualizzato come /example.com/123 nell'URL di reindirizzamento quando example.com è il nome host nell'URL della richiesta HTTP in entrata.
  • /{host}/{port} viene visualizzato come /example.com/123 nell'URL di reindirizzamento quando example.com è il nome host e 123 è la porta nell'URL della richiesta HTTP in entrata.
  • /{query} viene visualizzato come /lang=en nell'URL di reindirizzamento quando la query è lang=en nell'URL della richiesta HTTP in entrata.
  • lang=en&time_zone=PST viene visualizzato come lang=en&time_zone=PST nell'URL di reindirizzamento.
  • {query} viene visualizzato come lang=en&time_zone=PST nell'URL di reindirizzamento quando lang=en&time_zone=PST è la stringa di query nella richiesta HTTP in entrata. Se la richiesta HTTP in entrata non dispone di parametri di query, il token {query} viene visualizzato come stringa vuota.
  • lang=en&{query}&time_zone=PST viene visualizzato come lang=en&country=us&time_zone=PST nell'URL di reindirizzamento quando country=us è la stringa di query nella richiesta HTTP in entrata. Se la richiesta HTTP in entrata non dispone di parametri di query, questo valore viene visualizzato come lang=en&time_zone=PST.
  • protocollo={protocol}&hostname={host} viene visualizzato come protocol=http&hostname=example.com nell'URL di reindirizzamento quando il protocollo è http e il nome host è example.com nella richiesta HTTP in entrata.
  • port={port}&hostname={host} viene visualizzato come port=8080&hostname=example.com nell'URL di reindirizzamento quando la porta è 8080 e il nome host è example.com nell'URL della richiesta HTTP in entrata.

Codice di risposta

È possibile specificare il codice di stato HTTP da restituire quando la richiesta in entrata viene reindirizzata. I codici di risposta validi per il reindirizzamento dalla specifica HTTP standard sono:

  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 307 Temporary Redirect
  • 308 Permanent Redirect

Il valore predefinito è 302 Found.

Regole di intestazione richiesta e risposta

Le regole di intestazione di richiesta e risposta aggiungono, modificano o rimuovono le intestazioni di richiesta o risposta HTTP. Queste regole consentono di passare i metadati ai server backend per eseguire operazioni quali:

  • Identificare il listener che ha inviato una richiesta.
  • Notifica a un server backend l'interruzione SSL.

Ecco alcuni esempi del modo in cui i set di regole possono aiutarti a migliorare la sicurezza del sito:

  • Aggiunta di intestazioni per impedire ai domini esterni di eseguire l'iframing del sito.
  • Rimozione delle intestazioni di debug, ad esempio "Server", inviate dai server backend. Questa azione ti consente di nascondere i dettagli dell'implementazione del tuo backend.
  • Aggiunta dell'intestazione "strict-transport-security", con un valore appropriato, alle risposte. Questa intestazione garantisce che l'accesso al tuo sito sia solo tramite HTTPS.
  • Aggiunta dell'intestazione "x-xss-protection" con un valore appropriato. Questa intestazione consente di applicare la protezione XSS ( cross-site scripting) nei browser moderni.
  • Aggiunta dell'intestazione "x-content-type" con un valore appropriato. Questa intestazione ti consente di prevenire gli attacchi in base allo spostamento del tipo di contenuto.
Nota

L'aggiunta o la rimozione dell'intestazione host incorporata o di una delle intestazioni X come descritto nelle intestazioni HTTP "X-" non rimuove o sostituisce il valore dell'intestazione. L'esecuzione di queste azioni può invece aggiungere altri valori o duplicare l'intestazione.

Esempio: notificare a WebLogic che il load balancer ha interrotto SSL

È possibile configurare il load balancer in modo che esegua l'arresto SSL. Spesso, le applicazioni backend richiedono la notifica di questa azione. Ad esempio, l'elaborazione delle transazioni online di e-commerce HTTPS WebLogic cerca l'intestazione WL-Proxy-SSL per confermare che una richiesta è arrivata tramite SSL. È possibile utilizzare i set di regole per aggiungere questa intestazione nel listener del load balancer.

Nota

Per motivi di sicurezza, WebLogic ignora questa intestazione a meno che non si selezioni la casella WebLogic Plugin abilitato nella console di amministrazione di WebLogic.
  1. Creare un set di regole con le impostazioni riportate di seguito. Per ulteriori informazioni, vedere Creazione di un set di regole.
    • Selezionare l'opzione Aggiungi intestazione richiesta dalla lista Azione.
    • Immettere WL-Proxy-SSL come nome Intestazione.
    • Impostare il valore dell'intestazione:
      • Se il load balancer è configurato per eseguire l'arresto SSL, impostare questo valore su "true".
      • Se il punto di interruzione SSL si trova nel server Web in cui opera il plugin, impostare questo valore su "falso".
  2. Creare un listener oppure modificarne uno esistente e aggiungere il nuovo set di regole. Per ulteriori informazioni, vedere Ascolti.

Regole di intestazione HTTP

Le regole di intestazione HTTP specificano la dimensione dell'intestazione HTTP e i caratteri consentiti all'interno delle intestazioni.

  • La regola di intestazione HTTP Dimensione buffer intestazione HTTP aumenta la dimensione di un buffer utilizzato per la lettura dell'intestazione della richiesta client HTTP e della risposta del server backend da 8 KB predefiniti fino a 64 KB. Il buffer viene utilizzato per il controllo dell'overflow. Ogni riga di intestazione di richiesta o risposta deve rientrare in questo buffer. Pertanto, le applicazioni che utilizzano linee di intestazione HTTP di grandi dimensioni devono ottimizzare questo parametro.
  • La regola di intestazione HTTP Consenti caratteri non validi nell'intestazione HTTP consente di includere numeri, trattini e caratteri di sottolineatura nelle intestazioni HTTP.

Per ulteriori informazioni sull'implementazione delle regole di intestazione HTTP, vedere Creazione di un set di regole.

Regole per il massimo delle connessioni del listener

La regola di connessione massima del listener consente di applicare sia un numero massimo uniforme di connessioni al listener per tutti gli indirizzi IP, sia di specificare le sostituzioni a tale valore uniforme per i singoli indirizzi IP identificati.

  • È possibile impostare un valore di connessioni massimo predefinito che si applica a tutti gli indirizzi IP per i quali non sono stati impostati valori massimi specifici. Se non si imposta questo valore massimo predefinito, non è previsto alcun limite al numero di connessioni che un IP può effettuare a un listener.
  • È inoltre possibile impostare valori massimi per uno o più indirizzi IP che sostituiscono il valore massimo predefinito delle connessioni.

Per ulteriori informazioni sull'implementazione delle regole di connessione del listener massimo, vedere Creazione di un set di regole.