Migrazione dell'URI iRules F5 Passaggio a RELIANOID Corrispondenza del servizio HTTP/S

Visualizza categorie

Migrazione dell'URI iRules F5 Passaggio a RELIANOID Corrispondenza del servizio HTTP/S

1 min letto

Panoramica #

Questo articolo spiega come migrare un iRule F5 BIG-IP che instrada più URI di applicazioni allo stesso pool di backend in RELIANOID Utilizzo della corrispondenza nativa del servizio farm HTTP/S e dei modelli URI basati su espressioni regolari (regex).

L'iRule originale valuta l'URI in entrata e invia il traffico corrispondente a diversi percorsi applicativi allo stesso pool di backend.

iRule F5 originale #

quando HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/firstapp*" { pool "MY_POOL" } "/secondapp*" { pool "MY_POOL" } "/thirdapp" { pool "MY_POOL" } } }

Obiettivo migratorio #

Lo scopo di questa configurazione è:

  • Corrispondenza di più percorsi applicativi
  • Instradare tutto il traffico corrispondente allo stesso pool di backend.
  • Semplificare la logica di instradamento dell'applicazione.

RELIANOID Approccio alla migrazione #

In RELIANOID, questo può essere ottenuto senza scripting utilizzando:

  • Un unico servizio HTTP/S
  • corrispondenza del modello URI
  • Espressioni regolari (regex)
  • Configurazione backend condivisa

Questo approccio è più semplice, più pulito e più facile da gestire rispetto a molteplici iRules condizionali.

RELIANOID Configurazione #

Accedere a Farm > Farm HTTP/S > Servizi and Crea un nuovo servizio.

Configurazione di corrispondenza URI #

Nel pattern URL utilizzare l'espressione regolare:

^/(primaapp|secondaapp|terzaapp)

Configurazione dei backend #

Aggiungi la configurazione dell'elenco backend nel servizio.

Perché questo approccio è consigliato #

L'utilizzo di un singolo servizio basato su espressioni regolari offre:

  • Configurazione più pulita
  • Manutenzione più semplice
  • Numero ridotto di servizi
  • Migliore scalabilità
  • Risoluzione dei problemi semplificata

Anziché gestire più condizioni iRule, la logica URI è centralizzata in un'unica regola di corrispondenza.

Convalida #

Test con CURL. Esempio:

curl -k https://example.com/firstapp -v

Oppure:

curl -k https://example.com/secondapp/api/test -v

Risultato atteso:

  • La richiesta viene inoltrata al pool di backend configurato.
  • L'applicazione risponde normalmente

Troubleshooting #

Richieste non corrispondenti #

Verificare:

  • La modalità Regex è abilitata
  • Il modello URI è corretto
  • Nessuno spazio nascosto o sintassi regex non valida

Solo alcune applicazioni funzionano #

Dai un'occhiata:

  • Regex include tutti i nomi delle applicazioni richiesti
  • comportamento di capitalizzazione dell'URI

RELIANOID La corrispondenza delle espressioni regolari è sensibile alle maiuscole e minuscole, a meno che non sia configurata diversamente.

Se è necessaria la corrispondenza senza distinzione tra maiuscole e minuscole, utilizzare:

(?i)^/(primaapp|secondaapp|terzaapp)

Traffico inviato al servizio predefinito. #

Di solito questo indica:

  • Errore di corrispondenza nell'espressione regolare
  • Problema relativo all'ordinazione del servizio
  • differenze di normalizzazione URI

Approccio alternativo #

Sebbene sia possibile creare anche più servizi, questa pratica non è generalmente consigliata quando:

  • Tutte le applicazioni condividono lo stesso pool di backend
  • La logica di routing è identica

Un singolo servizio basato su espressioni regolari è più efficiente.

Best Practices #

  • Quando possibile, raggruppa le applicazioni simili in servizi condivisi.
  • Utilizza le espressioni regolari con cautela per evitare corrispondenze indesiderate.
  • Mantenere centralizzata la logica di corrispondenza degli URI.
  • Documentare le regole regex per la visibilità operativa

Sintesi #

Le iRules F5 che eseguono la selezione del pool basata su URI possono essere migrate in RELIANOID Utilizzo della corrispondenza dei servizi HTTP/S nativi con modelli di espressioni regolari.

Questo approccio semplifica la configurazione mantenendo un comportamento di routing dell'applicazione equivalente.

📄 Scarica questo documento in formato PDF #

    EMAIL: *

    Sviluppato da BetterDocs