Migrering af F5 iRules URI-skift til RELIANOID HTTP/S-tjenestematchning

Se kategorier

Migrering af F5 iRules URI-skift til RELIANOID HTTP/S-tjenestematchning

1 min læses

Oversigt #

Denne artikel forklarer, hvordan man migrerer en F5 BIG-IP iRule, der sender flere applikations-URI'er til den samme backend-pool. RELIANOID ved hjælp af native HTTP/S farm-tjenestematchning og regulære udtryk (regex) URI-mønstre.

Den originale iRule evaluerer den indgående URI og sender trafik, der matcher flere applikationsstier, til den samme backend-pool.

Original F5 iRule #

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

Migrationsmål #

Formålet med denne konfiguration er:

  • Match flere applikationsstier
  • Send al matchende trafik til den samme backend-pool
  • Forenkl applikationsroutinglogik

RELIANOID Migrationstilgang #

In RELIANOID, dette kan opnås uden scripting ved at bruge:

  • Én enkelt HTTP/S-tjeneste
  • URI-mønstermatchning
  • Regulære udtryk (regex)
  • Delt backend-konfiguration

Denne tilgang er enklere, renere og nemmere at vedligeholde end flere betingede iRules.

RELIANOID Konfiguration #

Naviger til Gårde > HTTP/S-gård > Tjenester og Opret en ny tjeneste.

URI-matchningskonfiguration #

I URL-mønsteret skal du bruge regex'en:

^/(firstapp|secondapp|thirdapp)

Backend-konfiguration #

Tilføj backend-listekonfigurationen i tjenesten.

Hvorfor denne tilgang anbefales #

Brug af en enkelt regex-baseret tjeneste giver:

  • Rengøringskonfiguration
  • Nemmere vedligeholdelse
  • Reduceret antal tjenester
  • Bedre skalerbarhed
  • Forenklet fejlfinding

I stedet for at administrere flere iRule-betingelser er URI-logikken centraliseret i én matchende regel.

Validering #

Test med CURL. Eksempel:

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

Eller:

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

Forventet resultat:

  • Anmodningen videresendes til den konfigurerede backend-pool
  • Applikationen reagerer normalt

Fejlfinding #

Anmodninger matcher ikke #

Verificere:

  • Regex-tilstand er aktiveret
  • URI-mønsteret er korrekt
  • Ingen skjulte mellemrum eller ugyldig regex-syntaks

Kun nogle applikationer virker #

Kontrollere:

  • Regex indeholder alle nødvendige programnavne
  • URI-adfærd med store bogstaver

RELIANOID Regex-matchning skelner mellem store og små bogstaver, medmindre andet er konfigureret.

Hvis der er behov for matchning uden forskel på store og små bogstaver, skal du bruge:

(?i)^/(firstapp|secondapp|thirdapp)

Trafik sendt til standardtjeneste #

Dette indikerer normalt:

  • Regex-uoverensstemmelse
  • Problem med bestilling af service
  • Forskelle i URI-normalisering

Alternativ tilgang #

Selvom der også kan oprettes flere tjenester, anbefales dette generelt ikke, når:

  • Alle applikationer deler den samme backend-pool
  • Routinglogikken er identisk

En enkelt regex-baseret tjeneste er mere effektiv.

Best Practices #

  • Gruppér lignende applikationer i delte tjenester, når det er muligt
  • Brug regex omhyggeligt for at undgå utilsigtede matches
  • Hold URI-matchningslogik centraliseret
  • Dokumentér regex-regler for operationel synlighed

Resumé #

F5 iRules, der udfører URI-baseret poolvalg, kan migreres til RELIANOID ved hjælp af native HTTP/S-tjenestematchning med regex-mønstre.

Denne tilgang forenkler konfigurationen, samtidig med at den opretholder en tilsvarende applikationsroutingadfærd.

📄 Download dette dokument i PDF-format #

    EMAIL: *

    drevet af BetterDocs