{"id":48111,"date":"2025-03-28T17:01:51","date_gmt":"2025-03-28T17:01:51","guid":{"rendered":"https:\/\/www.edgenexus.io\/non-categorizzato\/come-migrare-f5-irules-a-edgenexus-flightpath\/"},"modified":"2025-03-28T17:01:51","modified_gmt":"2025-03-28T17:01:51","slug":"come-migrare-f5-irules-a-edgenexus-flightpath","status":"publish","type":"post","link":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/","title":{"rendered":"Come migrare F5 iRules a Edgenexus flightPATH"},"content":{"rendered":"<h5><strong>\u00c8 opinione diffusa tra i miei colleghi di Edgenexus che, sebbene i bilanciatori di carico F5 LTM siano estremamente potenti e flessibili, la dipendenza dall&#8217;uso di scripting iRules per eseguire alcune funzioni di base porti a una complessit\u00e0 non necessaria.<\/strong><\/h5>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Basta fare una ricerca online su F5 iRules per scoprire il dolore e l&#8217;angoscia che molti professionisti IT devono affrontare nel processo di creazione di iRules funzionali. Sebbene sia vero che l&#8217;espansione della funzionalit\u00e0 &#8220;Criteri di traffico locale&#8221; nelle recenti versioni del software F5 abbia eliminato in parte la necessit\u00e0 di creare iRules per le comuni funzioni di manipolazione delle intestazioni HTTP, molti utenti sono ancora bloccati da iRules legacy nella loro configurazione di sistema.   <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Le politiche di traffico locale non sembrano consentire la manipolazione dei dati HTML, anche se le politiche Stream lo fanno, ma sono piuttosto complicate e difficili da controllare. Per impostazione predefinita, queste politiche influenzano il traffico in entrambe le direzioni allo stesso modo, anche se di solito non \u00e8 auspicabile. Ci\u00f2 significa che \u00e8 necessario tornare a iRules per eseguire funzioni come la sostituzione del testo del corpo dell&#8217;URL da http:\/\/ a https:\/\/, che potrebbe essere necessaria insieme al reindirizzamento da http:\/\/ a https, che pu\u00f2 essere eseguito utilizzando i Criteri di traffico locale.  <\/span><\/p>\n<h4>Entra in Edgenexus flightPATH &#8211; Gestione del traffico semplificata<\/h4>\n<p><span style=\"font-weight: 400;\">Noi di Edgenexus siamo giustamente orgogliosi della potenza e della semplicit\u00e0 di configurazione della nostra funzione di manipolazione HTTP flightPATH Layer 7.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Se sei gi\u00e0 un utente di F5 e utilizzi iRules per la manipolazione di HTTP o HTML, saremmo lieti di avere l&#8217;opportunit\u00e0 di offrirti una dimostrazione del bilanciatore di carico Edgenexus ALB-X e di mostrarti quanto sia semplice configurare flightPATH per realizzare alcune funzioni relativamente complesse. Ci piacerebbe essere messi alla prova per aiutarti a tradurre le tue funzioni iRules esistenti in regole flightPATH. <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>A titolo di esempio, abbiamo riprodotto di seguito una selezione di iRules di F5 con le schermate equivalenti di configurazione delle regole flightPATH di Edgenexus.<\/strong><\/p>\n<h4><strong>IP di origine Indirizzo del server dei contenuti<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Ecco un esempio di come F5 iRules pu\u00f2 essere utilizzato per indirizzare gli utenti di un certo intervallo di indirizzi IP verso un Server Pool e quelli di un altro intervallo verso un altro Server Pool.<\/span><\/p>\n<p><strong>F5:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Nome:<\/span><\/td>\n<td><span style=\"font-weight: 400;\"> IP_Choice<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Definizione:<\/span><\/td>\n<td><span style=\"font-weight: 400;\"> when HTTP_REQUEST { if { ( [IP::addr [IP::client_addr] uguale a 24.24.15.100] ) o ( [IP::addr [IP::client_addr] uguale a 10.1.1.2] ) } { pool pool2 } } <\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><br \/>\nEdgenexus:<\/strong><\/p>\n<p><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-26654\" src=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1.png\" alt=\"Come migrare F5 iRules a edgeNEXUS flightPATH\" width=\"1043\" height=\"369\" srcset=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1.png 1043w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1-400x142.png 400w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1-768x272.png 768w\" sizes=\"(max-width: 1043px) 100vw, 1043px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p style=\"margin-left: 268px;\"><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/edgenexus-How-to-Migrate-F5-iRulesAsset-1.png\">clicca qui per ingrandire<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crea una nuova regola flightPATH con il nome IP_Choice_Pool_1 tramite la GUI web. Aggiungi una descrizione concisa per poter identificare la funzione svolta dalla regola flightPATH. <\/span><\/li>\n<li>Aggiungi una nuova condizione, selezionando l&#8217;IP di origine dall&#8217;ampio elenco a discesa. Seleziona &#8220;Fa&#8221; dal menu a tendina Senso. Un&#8217;opzione \u00e8 quella di selezionare Inizio dall&#8217;elenco a discesa Controllo (in alternativa puoi utilizzare altre opzioni come RegEx per ottenere una maggiore flessibilit\u00e0 per il &#8220;Valore&#8221; dell&#8217;indirizzo IP). Inserisci l&#8217;intervallo IP iniziale nella casella Valore.   <\/li>\n<li><span style=\"font-weight: 400;\">Aggiungi una nuova azione. Dalla casella a discesa Azione scegli l&#8217;opzione Usa server (c&#8217;\u00e8 anche l&#8217;opzione Usa server sicuro, se necessario). Nella casella Destinazione inserisci l&#8217;indirizzo IP e la porta della destinazione richiesta, che di solito \u00e8 un&#8217;altra interfaccia del Servizio Virtuale per consentire il bilanciamento del carico su un altro pool di server reali.  <\/span><\/li>\n<\/ol>\n<h4><strong>Reindirizzamento da HTTP a HTTPS<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Sebbene F5 offra un&#8217;alternativa all&#8217;uso di iRules per eseguire il reindirizzamento da HTTP a HTTPs, ci sono molti casi in cui si continua a usare iRules per questa funzione. iRules consente anche una maggiore personalizzazione dei parametri di reindirizzamento. <\/span><\/p>\n<p><strong>F5:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Nome:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Reindirizzamento HTTP_HTTPs<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Definizione:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">quando HTTP_REQUEST { HTTP::redirect &#8220;https:\/\/[HTTP::host][HTTP::uri]&#8221; }<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><br \/>\nEdgenexus:<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"alignnone wp-image-8533 size-full\" style=\"border: 1px solid;\" src=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2.png\" alt=\"\" width=\"1215\" height=\"383\" srcset=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2.png 1215w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2-400x126.png 400w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2-768x242.png 768w\" sizes=\"(max-width: 1215px) 100vw, 1215px\" \/><\/a><\/p>\n<p style=\"margin-left: 268px;\"><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_HTTP_HTTPS_Redirection-2.png\">clicca qui per ingrandire<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crea una nuova regola flightPATH con il nome Reindirizzare HTTP a HTTPS tramite la GUI web. Aggiungi una descrizione concisa per poter identificare la funzione svolta dalla regola flightPATH. <\/span><\/li>\n<li><span style=\"font-weight: 400;\">Per la maggior parte delle applicazioni, il requisito di eseguire il reindirizzamento da HTTP a HTTPS deve essere eseguito su tutto il traffico che colpisce il servizio HTTP. In questo caso non \u00e8 necessario creare una regola di condizione. La creazione di regole di condizione \u00e8 molto flessibile se la regola flightPATH deve riguardare solo un determinato traffico.  <\/span><\/li>\n<li><span style=\"font-weight: 400;\">Aggiungi una nuova azione scegliendo Redirect 302 dalla casella a discesa Azione (\u00e8 disponibile anche Redirect 301). Edgenexus ALB-X crea automaticamente delle variabili per alcuni parametri chiave del traffico elaborato dall&#8217;ALB-X, tra cui l&#8217;host, il percorso e la stringa di query. Nella casella Destinazione inserisci i dettagli della destinazione della richiesta. In questo caso precede la voce https:\/\/ e utilizza le variabili $host$$path$$querystring$ per inserire i dati della richiesta http originale. Come puoi vedere, c&#8217;\u00e8 la possibilit\u00e0 di definire una destinazione completamente diversa, se necessario.    <\/span><\/li>\n<\/ol>\n<h4><strong>Maschera i numeri delle carte di credito<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Ecco un esempio della complessit\u00e0 di iRules e del modo in cui F5 gestisce la manipolazione del corpo HTML.<\/span><\/p>\n<p><strong>F5:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Nome:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Mascheramento del numero di carta di credito<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Definizione:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">quando HTTP_REQUEST {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Impedisce al server di inviare una risposta compressa<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # rimuovi le offerte di compressione dal client<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header rimuovere &#8220;Accept-Encoding&#8221;.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Non permettere che i dati di risposta siano suddivisi in pacchetti (chunked).<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::version] eq &#8220;1.1&#8221; } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Forza il downgrade a HTTP 1.0, ma continua a consentire le connessioni keep-alive.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Poich\u00e9 HTTP 1.1 \u00e8 keep-alive per impostazione predefinita, mentre 1.0 non lo \u00e8,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # dobbiamo assicurarci che le intestazioni riflettano lo stato keep-alive.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Verifica se si tratta di una connessione keep alive<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::header is_keepalive] } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Sostituisci il valore dell&#8217;intestazione della connessione con &#8220;Keep-Alive&#8221;.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header replace &#8220;Connection&#8221; &#8220;Keep-Alive&#8221;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Imposta la versione della richiesta lato server a 1.0<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Questo costringe il server a rispondere senza fare il &#8220;chunking&#8221;.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::versione &#8220;1.0&#8221;<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">quando HTTP_RESPONSE {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Controlla solo le risposte che hanno un contenuto di tipo testo (text\/html, text\/xml, text\/plain, ecc.).<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::header &#8220;Content-Type&#8221;] inizia_con &#8220;text\/&#8221; } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Ottenere la lunghezza del contenuto in modo da poter raccogliere i dati (da elaborare nell&#8217;evento HTTP_RESPONSE_DATA)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Limita la raccolta a 1Mb (1048576 meno un po&#8217; di spazio) &#8211; Vedi SOL6578 per i dettagli<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::header exists &#8220;Content-Length&#8221;] } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::header &#8220;Content-Length&#8221;] &gt; 1048000 }{<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Lunghezza del contenuto superiore a 1Mb quindi raccogli 1Mb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta lunghezza_contenuto 1048000<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  } else {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Lunghezza del contenuto inferiore a 1Mb quindi raccogli la lunghezza effettiva<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta lunghezza_contenuto  [HTTP::header &#8220;Content-Length&#8221;]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  } else {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # La risposta non ha un&#8217;intestazione Content-Length, quindi usa il valore predefinito di 1Mb.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta lunghezza_contenuto 1048000<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Non raccogliere il contenuto se il valore dell&#8217;intestazione Content-Length \u00e8 0<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { $content_length &gt; 0 } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::collect $lunghezza_contenuto<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">}<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">quando HTTP_RESPONSE_DATA {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Trova TUTTI i numeri di carta di credito possibili in un solo passaggio.  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  set card_indices [regexp -all -inline -indices<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  {(?:3[4|7]\\d{2})(?:[ ,-]?(?:\\d{5}(?:\\d{1})?)){2}|(?:4\\d{3})(?:[ ,-]?(?:\\d{4})){3}|(?:5[1-5]\\d{2})(?:[ ,-]?(?:\\d{4})){3}|(?:6011)(?:[ ,-]?(?:\\d{4})){3}}\\<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">    [HTTP::payload]]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  foreach card_idx $card_indices {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta card_start  [lindex $card_idx 0]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta fine carta  [lindex $card_idx 1]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  set card_len [expr {$card_end &#8211; $card_start + 1}]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  set card_number [range di stringhe [HTTP::payload] $card_start $card_end]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Rimuovi il trattino o lo spazio se esistono e conta le occorrenze nei ritagli di variabili.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta i ritagli [regsub -all {[-]} $numero_carta &#8220;&#8221; numero_carta]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Aggiusta la variabile card_len ma conservala per un uso successivo.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  set new_card_len [expr {$card_len &#8211; $cutouts}]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  set double [expr {$new_card_len &amp; 1}]  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta chksum 0  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta isCard invalido<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Calcola MOD10<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  for { set i 0 } { $i &lt; $new_card_len } { incr i } {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta c  [string index $card_number $i]  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if {($i &amp; 1) == $doppio} {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if {[incr c $c] &gt;= 10} {incr c -9}  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  incr chksum $c  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Determina il tipo di carta<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  switch [string index $card_number 0] {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  3 { set tipo AmericanExpress }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  4 { set type Visa }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  5 { set type MasterCard }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  6 { set type Discover }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  default { set type Unknown }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">    <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Se il numero della carta \u00e8 valido, maschera i numeri con delle X.  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { ($chksum % 10) == 0 } {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  imposta isCard valido  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::payload replace $card_start $card_len  [string repeat &#8220;X&#8221; $card_len]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">    <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Risultati del registro<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  log local0. &#8220;Trovato $isCard $tipo CC# $numero_carta&#8221;.   <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><strong>Edgenexus:<\/strong><\/p>\n<p><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" class=\"alignnone wp-image-8535 size-full\" style=\"border: 1px solid;\" src=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1.png\" alt=\"\" width=\"1529\" height=\"431\" srcset=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1.png 1529w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1-400x113.png 400w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1-768x216.png 768w\" sizes=\"(max-width: 1529px) 100vw, 1529px\" \/><\/a><\/p>\n<p style=\"margin-left: 268px;\"><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Mask_Credit-card-numbers-1.png\">clicca qui per ingrandire<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>Crea una nuova regola flightPATH e fornisci una descrizione significativa<\/li>\n<li><span style=\"font-weight: 400;\">Questo \u00e8 un altro esempio in cui la corrispondenza delle condizioni potrebbe non essere necessaria, in quanto normalmente si desidera proteggere le risposte del server. L&#8217;opzione \u00e8 ovviamente disponibile se necessaria. <\/span><\/li>\n<li>Aggiungi una nuova &#8220;Azione&#8221; e scegli &#8220;Corpo Sostituisci tutto&#8221; dal menu a discesa. Vengono utilizzate le Espressioni Regolari per poter individuare il testo di destinazione da sostituire con questa azione. Usa \\b(?:\\d[ \\t-]?){12}\\b come obiettivo per individuare e sostituire le prime 12 cifre dei numeri di carta di credito. Nel campo Dati inserisci xxxx-xxxx-xxxx come testo sostitutivo. Questo lascer\u00e0 intatte le ultime 4 cifre come identificativo.    <\/li>\n<li><span style=\"font-weight: 400;\">Ripeti il processo sopra descritto per altri tipi di dati sensibili come i numeri di previdenza nazionale utilizzando \\b(?:\\d[ \\t-]?){7}\\b sostituito da xxx-xxxx e \\b(?:\\d[ \\t-]?){6}\\b sostituito da xxx.xxx<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Con un uso accorto delle espressioni regolari \u00e8 possibile abbinare e mascherare un&#8217;ampia variet\u00e0 di sequenze di caratteri semplicemente utilizzando l&#8217;azione Sostituisci corpo. Body Replace First e Body Replace Last sono altre opzioni di azione che possono essere utilizzate quando \u00e8 necessario sostituire solo la prima o l&#8217;ultima istanza di una sequenza di caratteri in una pagina. <\/span><\/li>\n<\/ol>\n<h4><strong>Rimuovere le intestazioni X potenzialmente compromettenti per la sicurezza<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Spesso viene indicata come buona pratica quella di evitare di fornire informazioni non necessarie sull&#8217;infrastruttura server utilizzata per la distribuzione di un&#8217;applicazione, rimuovendo alcune intestazioni HTTP inserite di default dall&#8217;applicazione o dalla tecnologia del server. Pi\u00f9 un hacker conosce il sistema che sta cercando di sfruttare, pi\u00f9 \u00e8 facile. Spesso c&#8217;\u00e8 un intervallo di tempo tra la pubblicazione delle vulnerabilit\u00e0 del sistema e la realizzazione delle patch. \u00c8 in questo periodo che i sistemi sono pi\u00f9 a rischio e che il processo di oscuramento dei dettagli della piattaforma di distribuzione delle applicazioni \u00e8 pi\u00f9 utile.   <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Molte delle informazioni non necessarie sono contenute negli X-Header. La seguente iRule esegue una rimozione generalizzata degli X-Header che potrebbe non essere auspicabile. <\/span><\/p>\n<p><strong>F5:<\/strong><\/p>\n<table>\n<tbody>\n<tr>\n<td><span style=\"font-weight: 400;\">Nome:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">HTTP X-Server Header Removal<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Definizione:<\/span><\/td>\n<td><span style=\"font-weight: 400;\">quando HTTP_RESPONSE {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Rimuovere tutte le istanze dell&#8217;intestazione Server  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header remove Server  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Rimuovi tutte le intestazioni che iniziano con x-  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  foreach header_name [HTTP::header names] {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if {[string match -nocase x-* $header_name]}{  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header remove $nome_intestazione  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  }<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><br \/>\nEdgenexus:<\/strong><\/p>\n<p><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8537 size-full\" style=\"border: 1px solid;\" src=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2.png\" alt=\"\" width=\"1298\" height=\"454\" srcset=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2.png 1298w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2-400x140.png 400w, https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2-768x269.png 768w\" sizes=\"(max-width: 1298px) 100vw, 1298px\" \/><\/a><\/p>\n<p style=\"margin-left: 268px;\"><a href=\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2017\/05\/flightPATH_Remove_HTTP_Headers-2.png\">clicca qui per ingrandire<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crea una nuova regola flightPATH con un nome significativo, ad esempio Rimuovi intestazioni HTTP.<\/span><\/li>\n<li>Questo \u00e8 un esempio di regola flightPATH in cui probabilmente non \u00e8 necessaria una corrispondenza di condizioni. Se necessario, \u00e8 disponibile una serie completa di criteri di selezione. <\/li>\n<li>Aggiungi una nuova azione &#8220;Rimuovi intestazione risposta&#8221;, nel campo Destinatario inserisci il valore dell&#8217;intestazione da rimuovere. Aggiungi una voce dell&#8217;azione Rimuovi intestazione risposta per definire ciascuno dei campi dell&#8217;intestazione che desideri vengano mascherati dalle risposte del server. Un&#8217;azione generalizzata di rimozione di tutte le intestazioni personalizzate con prefisso X potrebbe avere un effetto negativo, quindi flightPATH ti chiede di definire le intestazioni specifiche che devono essere rimosse.  <\/li>\n<li>Applica il flightPATH creato a ciascuno dei servizi in cui \u00e8 richiesta l&#8217;azione.<\/li>\n<\/ol>\n<h4><strong><br \/>\n<\/strong> <strong>Applicazione delle regole flightPATH ai servizi virtuali<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">flightPATH \u00e8 uno strumento di manipolazione HTTP molto potente ma semplice da usare. Puoi creare una &#8220;libreria&#8221; di regole flightPATH per eseguire varie azioni sul traffico HTTP mentre attraversa il dispositivo di bilanciamento del carico ALB-X. \u00c8 possibile applicare pi\u00f9 regole flightPATH a un servizio virtuale. Le regole flightPATH vengono elaborate nell&#8217;ordine in cui vengono applicate al servizio. Alcune regole flightPATH terminano l&#8217;elaborazione. Puoi usare il drag and drop per riorganizzare l&#8217;ordine e assicurarti che tutte le azioni vengano eseguite come richiesto. Sono disponibili registrazioni e tracciati flightPATH completi che consentono il debug delle operazioni flightPATH. edgeNEXUS pu\u00f2 offrire servizi professionali per assistere nella traduzione e creazione di regole flightPATH pi\u00f9 complesse.       <\/span><\/p>\n<h4><strong>Vuoi saperne di pi\u00f9?<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Per maggiori informazioni sulla manipolazione del traffico di Edgenexus <a href=\"https:\/\/www.edgenexus.io\/products\/load-balancer\/features\/intelligent-traffic-management\/\">clicca qui<\/a>.<\/span><\/p>\n<p>Per scaricare una prova gratuita di ALB-X <a href=\"https:\/\/www.edgenexus.io\/it\/products\/bilanciatore-di-carico\/prova-gratuita\/\">clicca qui<\/a>.<\/p>\n<p><span style=\"font-weight: 400;\">Ci piacerebbe avere l&#8217;opportunit\u00e0 di dimostrare le funzionalit\u00e0 di Edgenexus ALB-X e flightPATH.  <a href=\"https:\/\/calendly.com\/edgenexusio\">Richiedi qui una dimostrazione tecnica rapida e personalizzata.<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00c8 opinione diffusa tra i miei colleghi di Edgenexus che, sebbene i bilanciatori di carico F5 LTM siano estremamente potenti e flessibili, la dipendenza dall&#8217;uso di scripting iRules per eseguire alcune funzioni di base porti a una complessit\u00e0 non necessaria. &nbsp; Basta fare una ricerca online su F5 iRules per scoprire il dolore e l&#8217;angoscia [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":26650,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[371],"tags":[749,750,743,744,745,748,746,747],"class_list":["post-48111","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-it","tag-application-delivery-controller-it","tag-big-ip-it","tag-bilanciamento-del-carico","tag-f5-it","tag-flightpath-it","tag-gestore-del-traffico-di-carico","tag-iregole","tag-traffico"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Come migrare F5 iRules a Edgenexus flightPATH - Edgenexus load balancers and Application Security<\/title>\n<meta name=\"description\" content=\"Scopri come migrare facilmente F5 iRules a JetNexus FlightPath. Semplifica la tua transizione con una guida passo dopo passo. Leggi ora per un processo di migrazione senza problemi!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Donna Toomey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\"},\"author\":{\"name\":\"Donna Toomey\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca\"},\"headline\":\"Come migrare F5 iRules a Edgenexus flightPATH\",\"datePublished\":\"2025-03-28T17:01:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\"},\"wordCount\":2001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg\",\"keywords\":[\"application delivery controller\",\"big-ip\",\"bilanciamento del carico\",\"F5\",\"flightPATH\",\"gestore del traffico di carico\",\"iRegole\",\"Traffico\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\",\"url\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\",\"name\":\"Come migrare F5 iRules a Edgenexus flightPATH - Edgenexus load balancers and Application Security\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg\",\"datePublished\":\"2025-03-28T17:01:51+00:00\",\"description\":\"Scopri come migrare facilmente F5 iRules a JetNexus FlightPath. Semplifica la tua transizione con una guida passo dopo passo. Leggi ora per un processo di migrazione senza problemi!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage\",\"url\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg\",\"contentUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg\",\"width\":1920,\"height\":1080,\"caption\":\"How to Migrate F5 iRules to edgeNEXUS flightPATH\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.edgenexus.io\/it\/edgenexus-load-balancing-adc-waf-e-gslb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Come migrare F5 iRules a Edgenexus flightPATH\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#website\",\"url\":\"https:\/\/www.edgenexus.io\/zh-hans\/\",\"name\":\"Edgenexus load balancers and Application Security\",\"description\":\"Edgenexus Load Balancers, ADC and Web application Firewalls (WAF)\",\"publisher\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\"},\"alternateName\":\"Load balancers and Web application firewall\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.edgenexus.io\/zh-hans\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\",\"name\":\"Edgenexus\",\"url\":\"https:\/\/www.edgenexus.io\/zh-hans\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png\",\"contentUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png\",\"width\":903,\"height\":921,\"caption\":\"Edgenexus\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/edgenexusio\",\"https:\/\/x.com\/edgenexusio\",\"https:\/\/www.linkedin.com\/company\/edgenexus\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca\",\"name\":\"Donna Toomey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g\",\"caption\":\"Donna Toomey\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come migrare F5 iRules a Edgenexus flightPATH - Edgenexus load balancers and Application Security","description":"Scopri come migrare facilmente F5 iRules a JetNexus FlightPath. Semplifica la tua transizione con una guida passo dopo passo. Leggi ora per un processo di migrazione senza problemi!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/","twitter_misc":{"Scritto da":"Donna Toomey","Tempo di lettura stimato":"10 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#article","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/"},"author":{"name":"Donna Toomey","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca"},"headline":"Come migrare F5 iRules a Edgenexus flightPATH","datePublished":"2025-03-28T17:01:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/"},"wordCount":2001,"commentCount":0,"publisher":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization"},"image":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg","keywords":["application delivery controller","big-ip","bilanciamento del carico","F5","flightPATH","gestore del traffico di carico","iRegole","Traffico"],"articleSection":["Blog"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/","url":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/","name":"Come migrare F5 iRules a Edgenexus flightPATH - Edgenexus load balancers and Application Security","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage"},"image":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg","datePublished":"2025-03-28T17:01:51+00:00","description":"Scopri come migrare facilmente F5 iRules a JetNexus FlightPath. Semplifica la tua transizione con una guida passo dopo passo. Leggi ora per un processo di migrazione senza problemi!","breadcrumb":{"@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#primaryimage","url":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg","contentUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg","width":1920,"height":1080,"caption":"How to Migrate F5 iRules to edgeNEXUS flightPATH"},{"@type":"BreadcrumbList","@id":"https:\/\/www.edgenexus.io\/it\/blog-it\/come-migrare-f5-irules-a-edgenexus-flightpath\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.edgenexus.io\/it\/edgenexus-load-balancing-adc-waf-e-gslb\/"},{"@type":"ListItem","position":2,"name":"Come migrare F5 iRules a Edgenexus flightPATH"}]},{"@type":"WebSite","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#website","url":"https:\/\/www.edgenexus.io\/zh-hans\/","name":"Edgenexus load balancers and Application Security","description":"Edgenexus Load Balancers, ADC and Web application Firewalls (WAF)","publisher":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization"},"alternateName":"Load balancers and Web application firewall","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.edgenexus.io\/zh-hans\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization","name":"Edgenexus","url":"https:\/\/www.edgenexus.io\/zh-hans\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/","url":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png","contentUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2023\/09\/edgenexus-adc-sq-transparentAsset-7.png","width":903,"height":921,"caption":"Edgenexus"},"image":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/edgenexusio","https:\/\/x.com\/edgenexusio","https:\/\/www.linkedin.com\/company\/edgenexus\/"]},{"@type":"Person","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca","name":"Donna Toomey","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3d4a009f6c17add48ad6905e40aac5308c04c77cdcff0616649d6c31251d1955?s=96&d=identicon&r=g","caption":"Donna Toomey"}}]}},"_links":{"self":[{"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/posts\/48111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/comments?post=48111"}],"version-history":[{"count":0,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/posts\/48111\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/media\/26650"}],"wp:attachment":[{"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/media?parent=48111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/categories?post=48111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.edgenexus.io\/it\/wp-json\/wp\/v2\/tags?post=48111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}