{"id":48107,"date":"2025-03-28T17:01:49","date_gmt":"2025-03-28T17:01:49","guid":{"rendered":"https:\/\/www.edgenexus.io\/nao-categorizado\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/"},"modified":"2025-03-28T17:01:49","modified_gmt":"2025-03-28T17:01:49","slug":"como-migrar-o-f5-irules-para-o-edgenexus-flightpath","status":"publish","type":"post","link":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/","title":{"rendered":"Como migrar o F5 iRules para o Edgenexus flightPATH"},"content":{"rendered":"<h5><strong>Meus colegas da Edgenexus acreditam que, embora os balanceadores de carga F5 LTM sejam extremamente avan\u00e7ados e flex\u00edveis, a depend\u00eancia do uso de scripts iRules para executar algumas fun\u00e7\u00f5es b\u00e1sicas leva a uma complexidade desnecess\u00e1ria.<\/strong><\/h5>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400;\">Voc\u00ea s\u00f3 precisa fazer uma busca on-line por F5 iRules para descobrir a dor e a ang\u00fastia que muitos profissionais de TI t\u00eam de enfrentar no processo de cria\u00e7\u00e3o de iRules funcionais. Embora seja verdade que a expans\u00e3o da funcionalidade &#8220;Local Traffic Policies&#8221; nas vers\u00f5es recentes do software da F5 tenha eliminado parte da necessidade de criar iRules para fun\u00e7\u00f5es comuns de manipula\u00e7\u00e3o de cabe\u00e7alhos HTTP, muitos usu\u00e1rios ainda est\u00e3o presos a iRules herdadas na configura\u00e7\u00e3o do sistema.   <\/span><\/p>\n<p><span style=\"font-weight: 400;\">As pol\u00edticas de tr\u00e1fego local n\u00e3o parecem permitir a manipula\u00e7\u00e3o de dados HTML, embora as pol\u00edticas de fluxo o fa\u00e7am, elas s\u00e3o um tanto desajeitadas e dif\u00edceis de controlar. Por padr\u00e3o, elas afetam o tr\u00e1fego em ambas as dire\u00e7\u00f5es da mesma forma, embora isso geralmente n\u00e3o seja desej\u00e1vel. Isso significa que voc\u00ea deve voltar \u00e0s iRules para executar fun\u00e7\u00f5es como a substitui\u00e7\u00e3o do link do corpo do texto do URL de http:\/\/ para https:\/\/, que pode ser necess\u00e1ria em conjunto com um redirecionamento de http:\/\/ para https, que pode ser executado usando as pol\u00edticas de tr\u00e1fego local.  <\/span><\/p>\n<h4>Entre no Edgenexus flightPATH &#8211; Gerenciamento de tr\u00e1fego facilitado<\/h4>\n<p><span style=\"font-weight: 400;\">Na Edgenexus, temos orgulho do poder e da simplicidade de configura\u00e7\u00e3o de nossa fun\u00e7\u00e3o de manipula\u00e7\u00e3o HTTP flightPATH Layer 7.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Se voc\u00ea j\u00e1 \u00e9 usu\u00e1rio da F5 e utiliza o iRules para manipula\u00e7\u00e3o de HTTP ou HTML, ficar\u00edamos muito satisfeitos em ter a oportunidade de fazer uma demonstra\u00e7\u00e3o do balanceador de carga Edgenexus ALB-X e mostrar como o flightPATH \u00e9 simples de configurar para realizar algumas fun\u00e7\u00f5es relativamente complexas. Gostar\u00edamos de ser colocados \u00e0 prova para ajudar voc\u00ea a traduzir suas fun\u00e7\u00f5es iRules existentes em regras do flightPATH. <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Como exemplo, reproduzimos abaixo uma sele\u00e7\u00e3o de F5 iRules com as capturas de tela de configura\u00e7\u00e3o de regras flightPATH equivalentes da Edgenexus.<\/strong><\/p>\n<h4><strong>IP de origem Dire\u00e7\u00e3o do servidor de conte\u00fado<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Aqui est\u00e1 um exemplo de como o F5 iRules pode ser usado para direcionar os usu\u00e1rios de um determinado intervalo de endere\u00e7os IP para um pool de servidores e os de outro intervalo para outro pool de servidores.<\/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;\">Defini\u00e7\u00e3o:<\/span><\/td>\n<td><span style=\"font-weight: 400;\"> when HTTP_REQUEST { if { ( [IP::addr [IP::client_addr] igual a 24.24.15.100] ) or ( [IP::addr [IP::client_addr] igual 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=\"Como migrar o F5 iRules para o 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\">clique aqui para ampliar<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crie uma nova regra flightPATH com o nome IP_Choice_Pool_1 por meio da Web GUI. Adicione uma descri\u00e7\u00e3o concisa para que voc\u00ea possa identificar qual \u00e9 a fun\u00e7\u00e3o que a regra flightPATH est\u00e1 executando. <\/span><\/li>\n<li>Adicione uma nova condi\u00e7\u00e3o, selecionando Source IP na extensa lista suspensa. Selecione &#8220;Does&#8221; (Faz) na lista suspensa Sense (Sentido). Uma op\u00e7\u00e3o \u00e9 selecionar Start na lista suspensa Check (como alternativa, voc\u00ea pode usar outras op\u00e7\u00f5es, como RegEx, para oferecer mais flexibilidade ao endere\u00e7o IP &#8216;Value&#8217;). Digite o intervalo de IP inicial na caixa Value (Valor).   <\/li>\n<li><span style=\"font-weight: 400;\">Adicione uma nova a\u00e7\u00e3o. Na caixa suspensa A\u00e7\u00e3o, escolha a op\u00e7\u00e3o Usar servidor (h\u00e1 tamb\u00e9m a op\u00e7\u00e3o Usar servidor seguro, se necess\u00e1rio). Na caixa Target (Destino), digite o endere\u00e7o IP e a porta do destino desejado. Normalmente, trata-se de outra interface do Virtual Service para permitir o balanceamento de carga em outro pool de servidores reais.  <\/span><\/li>\n<\/ol>\n<h4><strong>Redirecionamento de HTTP para HTTPS<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Embora a F5 agora tenha uma alternativa ao uso do iRules para executar o redirecionamento de HTTP para HTTPs, h\u00e1 muitos casos em que as pessoas ainda est\u00e3o usando o iRules para essa fun\u00e7\u00e3o. O iRules tamb\u00e9m permite uma maior personaliza\u00e7\u00e3o dos par\u00e2metros de redirecionamento. <\/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;\">Redirecionamento de HTTP_HTTPs<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Defini\u00e7\u00e3o:<\/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\">clique aqui para ampliar<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crie uma nova regra flightPATH com o nome Redirecionar HTTP para HTTPS por meio da GUI da Web. Adicione uma descri\u00e7\u00e3o concisa para que voc\u00ea possa identificar qual \u00e9 a fun\u00e7\u00e3o que a regra flightPATH est\u00e1 executando. <\/span><\/li>\n<li><span style=\"font-weight: 400;\">Na maioria dos aplicativos, o requisito para realizar o redirecionamento de HTTP para HTTPS precisa ser executado em todo o tr\u00e1fego que atinge o servi\u00e7o HTTP. Nesse caso, nenhuma regra de condi\u00e7\u00e3o precisa ser criada. H\u00e1 uma grande flexibilidade para criar regras de condi\u00e7\u00e3o se a regra flightPATH afetar apenas determinado tr\u00e1fego.  <\/span><\/li>\n<li><span style=\"font-weight: 400;\">Adicione uma nova a\u00e7\u00e3o escolhendo Redirect 302 na caixa suspensa Action (Redirect 301 tamb\u00e9m est\u00e1 dispon\u00edvel). O Edgenexus ALB-X cria automaticamente vari\u00e1veis para determinados par\u00e2metros-chave do tr\u00e1fego processado pelo ALB-X, o que inclui o host, o caminho e a string de consulta. Na caixa Target (Destino), insira os detalhes do local para onde a solicita\u00e7\u00e3o deve ser redirecionada. Nesse caso, preceda a entrada https:\/\/ e use as vari\u00e1veis $host$$path$$$querystring$ para inserir os dados da solicita\u00e7\u00e3o http original. Como voc\u00ea pode ver, h\u00e1 flexibilidade aqui para definir um destino completamente diferente, se necess\u00e1rio.    <\/span><\/li>\n<\/ol>\n<h4><strong>Mascarar n\u00fameros de cart\u00f5es de cr\u00e9dito<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Aqui est\u00e1 um exemplo das complexidades das iRules e da maneira como o F5 lida com a manipula\u00e7\u00e3o do 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;\">Mascaramento do n\u00famero do cart\u00e3o de cr\u00e9dito<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Defini\u00e7\u00e3o:<\/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;\">  # Impedir que o servidor envie uma resposta compactada<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Remover as ofertas de compacta\u00e7\u00e3o do cliente<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header remove &#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;\">  # N\u00e3o permita que os dados de resposta sejam divididos em peda\u00e7os<\/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;\">  # For\u00e7ar o downgrade para HTTP 1.0, mas ainda permitir conex\u00f5es keep-alive.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Como o HTTP 1.1 \u00e9 &#8220;keep-alive&#8221; por padr\u00e3o, e o 1.0 n\u00e3o,<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Precisamos garantir que os cabe\u00e7alhos reflitam o status keep-alive.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Verificar se essa \u00e9 uma conex\u00e3o keep alive<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se { [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;\">  # Substitua o valor do cabe\u00e7alho da conex\u00e3o por &#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;\">  # Definir a vers\u00e3o da solicita\u00e7\u00e3o do lado do servidor como 1.0<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Isso for\u00e7a o servidor a responder sem fragmenta\u00e7\u00e3o<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::vers\u00e3o &#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;\">  # Verifique apenas as respostas que s\u00e3o do tipo de conte\u00fado de texto (text\/html, text\/xml, text\/plain etc.).<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  if { [HTTP::header &#8220;Content-Type&#8221;] starts_with &#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;\">  # Obtenha o tamanho do conte\u00fado para que possamos coletar os dados (a serem processados no evento HTTP_RESPONSE_DATA)<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Limitar a coleta a 1Mb (1048576 menos um pouco) &#8211; Consulte SOL6578 para obter detalhes<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se { [HTTP::header exists &#8220;Content-Length&#8221;] } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se { [HTTP::header &#8220;Content-Length&#8221;] &gt; 1048000 }{<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Content-Length acima de 1Mb, portanto, colete 1Mb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir content_length 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;\">  # Content-Length abaixo de 1Mb, portanto, colete o comprimento real<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir content_length  [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;\">  # A resposta n\u00e3o tinha o cabe\u00e7alho Content-Length, portanto, use o padr\u00e3o de 1Mb<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir content_length 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;\">  # N\u00e3o coletar conte\u00fado se o valor do cabe\u00e7alho Content-Length for 0<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se { $content_length &gt; 0 } {<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::collect $content_length<\/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;\">  # Encontre TODOS os n\u00fameros de cart\u00e3o de cr\u00e9dito poss\u00edveis em uma \u00fanica passagem  <\/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;\">  definir card_start  [lindex $card_idx 0]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir card_end  [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;\">  definir card_number [intervalo de strings [HTTP::payload] $card_start $card_end]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Remova o tra\u00e7o ou o espa\u00e7o se eles existirem e conte as ocorr\u00eancias em recortes vari\u00e1veis.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  Definir recortes [regsub -all {[-]} $n\u00famero_do_cart\u00e3o &#8220;&#8221; n\u00famero_do_cart\u00e3o]<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Voc\u00ea deve ajustar a vari\u00e1vel card_len, mas guard\u00e1-la para uso posterior.<\/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;\">  definir chksum 0  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir isCard inv\u00e1lido<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span> <span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  # Calcular 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;\">  definir c  [string index $card_number $i]  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  Se {($i &amp; 1) == $double} {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se {[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;\">  # Determinar o tipo de cart\u00e3o<\/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 { definir tipo AmericanExpress }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  4 { definir tipo Visa }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  5 { definir tipo MasterCard }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  6 { definir tipo Discover }  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  padr\u00e3o { definir tipo Desconhecido }  <\/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 o n\u00famero do cart\u00e3o for v\u00e1lido, mascare os n\u00fameros com Xs  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  se { ($chksum % 10) == 0 } {  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  definir isCard valid  <\/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;\">  # Resultados do registro<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  log local0. &#8220;Encontrado $isCard $type CC# $card_number&#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\">clique aqui para ampliar<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>Crie uma nova regra flightPATH e forne\u00e7a uma descri\u00e7\u00e3o significativa<\/li>\n<li><span style=\"font-weight: 400;\">Esse \u00e9 outro exemplo em que a correspond\u00eancia de condi\u00e7\u00f5es pode n\u00e3o ser necess\u00e1ria, pois normalmente voc\u00ea desejaria proteger todas as respostas do servidor. \u00c9 claro que existe a op\u00e7\u00e3o, se voc\u00ea precisar. <\/span><\/li>\n<li>Adicione uma nova &#8220;A\u00e7\u00e3o&#8221; e escolha &#8220;Corpo Substituir Tudo&#8221; na op\u00e7\u00e3o do menu suspenso. Voc\u00ea pode usar express\u00f5es regulares para fazer a correspond\u00eancia com o texto de destino a ser substitu\u00eddo por essa a\u00e7\u00e3o. Use \\b(?:\\d[ \\t-]?){12}\\b como o alvo para detectar e substituir os primeiros 12 d\u00edgitos dos n\u00fameros de cart\u00e3o de cr\u00e9dito. No campo Data (Dados), digite xxxx-xxxx-xxxx como o texto de substitui\u00e7\u00e3o. Isso deixar\u00e1 os \u00faltimos 4 d\u00edgitos habituais intactos como um identificador.    <\/li>\n<li><span style=\"font-weight: 400;\">Repita o processo acima para outros tipos de dados confidenciais, como n\u00fameros de seguro nacional, usando \\b(?:\\d[ \\t-]?){7}\\b substitu\u00eddo por xxx-xxxx e \\b(?:\\d[ \\t-]?){6}\\b substitu\u00eddo por xxx.xxx<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Com o uso criterioso de express\u00f5es regulares, uma grande variedade de sequ\u00eancias de caracteres pode ser combinada e mascarada simplesmente usando a a\u00e7\u00e3o Substituir corpo. Body Replace First (Substituir primeiro corpo) e Body Replace Last (Substituir \u00faltimo corpo) s\u00e3o outras op\u00e7\u00f5es de a\u00e7\u00e3o que podem ser usadas quando apenas a primeira ou a \u00faltima inst\u00e2ncia de uma sequ\u00eancia de caracteres em uma p\u00e1gina precisa ser substitu\u00edda. <\/span><\/li>\n<\/ol>\n<h4><strong>Remover poss\u00edveis cabe\u00e7alhos X que comprometam a seguran\u00e7a<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Muitas vezes, \u00e9 citado como boa pr\u00e1tica evitar o fornecimento de informa\u00e7\u00f5es desnecess\u00e1rias sobre a infraestrutura do servidor usada para a entrega de um aplicativo, removendo determinados cabe\u00e7alhos HTTP que s\u00e3o inseridos por padr\u00e3o pelo aplicativo ou pela tecnologia do servidor. Quanto mais um hacker souber sobre o sistema que est\u00e1 tentando explorar, mais f\u00e1cil ser\u00e1. Geralmente, h\u00e1 um intervalo entre a publica\u00e7\u00e3o das vulnerabilidades do sistema e a aplica\u00e7\u00e3o de patches. \u00c9 durante esse per\u00edodo que os sistemas est\u00e3o mais amea\u00e7ados e que o processo de ocultar os detalhes da plataforma de fornecimento de aplicativos \u00e9 mais \u00fatil.   <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Muitas das informa\u00e7\u00f5es desnecess\u00e1rias est\u00e3o contidas nos X-Headers. A iRule a seguir executa uma remo\u00e7\u00e3o geral do X-Header que pode n\u00e3o ser desej\u00e1vel. <\/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;\">Remo\u00e7\u00e3o do cabe\u00e7alho HTTP X-Server<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Defini\u00e7\u00e3o:<\/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;\">  # Remover todas as inst\u00e2ncias do cabe\u00e7alho do servidor  <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">  HTTP::header remove Servidor  <\/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;\">  # Remova todos os cabe\u00e7alhos que come\u00e7am com 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;\">  Se {[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 $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;\">  }<\/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\">clique aqui para ampliar<\/a><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li><span style=\"font-weight: 400;\">Crie uma nova regra flightPATH com um nome significativo, por exemplo, Remove HTTP Headers (Remover cabe\u00e7alhos HTTP)<\/span><\/li>\n<li>Este \u00e9 um exemplo de uma regra flightPATH em que provavelmente n\u00e3o ser\u00e1 necess\u00e1ria uma correspond\u00eancia de condi\u00e7\u00f5es. H\u00e1 um conjunto abrangente de crit\u00e9rios de sele\u00e7\u00e3o dispon\u00edveis, se necess\u00e1rio. <\/li>\n<li>Adicione uma nova a\u00e7\u00e3o para &#8220;Remover cabe\u00e7alho de resposta&#8221;; no campo Destino, digite o valor do cabe\u00e7alho a ser removido. Adicione uma entrada de a\u00e7\u00e3o Remove Response Header para definir cada um dos campos de cabe\u00e7alho que voc\u00ea deseja que sejam mascarados nas respostas do servidor. Uma a\u00e7\u00e3o geral de remo\u00e7\u00e3o de todos os cabe\u00e7alhos personalizados com prefixo X poderia, na verdade, ter um efeito prejudicial, portanto, o flightPATH exige que voc\u00ea defina os cabe\u00e7alhos espec\u00edficos que precisam ser removidos.  <\/li>\n<li>Aplique o flightPATH criado a cada um dos servi\u00e7os em que a a\u00e7\u00e3o \u00e9 necess\u00e1ria.<\/li>\n<\/ol>\n<h4><strong><br \/>\n<\/strong> <strong>Aplica\u00e7\u00e3o de regras flightPATH a servi\u00e7os virtuais<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">O flightPATH \u00e9 uma ferramenta de manipula\u00e7\u00e3o de HTTP muito eficiente, mas simples de usar. Voc\u00ea pode criar uma &#8220;biblioteca&#8221; de regras flightPATH para executar v\u00e1rias a\u00e7\u00f5es no tr\u00e1fego HTTP \u00e0 medida que ele atravessa o dispositivo de balanceamento de carga ALB-X. V\u00e1rias regras flightPATH podem ser aplicadas a um servi\u00e7o virtual. As regras do flightPATH s\u00e3o processadas na ordem em que s\u00e3o aplicadas ao servi\u00e7o. Algumas regras de flightPATH encerram o processamento. Voc\u00ea pode usar o recurso de arrastar e soltar para reorganizar a ordem e garantir que todas as a\u00e7\u00f5es sejam executadas conforme necess\u00e1rio. A edgeNEXUS pode oferecer servi\u00e7os profissionais para auxiliar na tradu\u00e7\u00e3o e cria\u00e7\u00e3o de regras flightPATH mais complexas.       <\/span><\/p>\n<h4><strong>Voc\u00ea quer saber mais?<\/strong><\/h4>\n<p><span style=\"font-weight: 400;\">Para obter mais informa\u00e7\u00f5es sobre a manipula\u00e7\u00e3o de tr\u00e1fego da Edgenexus <a href=\"https:\/\/www.edgenexus.io\/products\/load-balancer\/features\/intelligent-traffic-management\/\">, clique aqui<\/a>.<\/span><\/p>\n<p>Para fazer o download de uma avalia\u00e7\u00e3o gratuita do ALB-X <a href=\"https:\/\/www.edgenexus.io\/pt-br\/products\/balanceador-de-carga\/teste-gratuito\/\">, clique aqui<\/a>.<\/p>\n<p><span style=\"font-weight: 400;\">Gostar\u00edamos de ter a oportunidade de demonstrar a funcionalidade do Edgenexus ALB-X e do flightPATH.  <a href=\"https:\/\/calendly.com\/edgenexusio\">Solicite uma demonstra\u00e7\u00e3o t\u00e9cnica r\u00e1pida e pessoal aqui.<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meus colegas da Edgenexus acreditam que, embora os balanceadores de carga F5 LTM sejam extremamente avan\u00e7ados e flex\u00edveis, a depend\u00eancia do uso de scripts iRules para executar algumas fun\u00e7\u00f5es b\u00e1sicas leva a uma complexidade desnecess\u00e1ria. &nbsp; Voc\u00ea s\u00f3 precisa fazer uma busca on-line por F5 iRules para descobrir a dor e a ang\u00fastia que muitos [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":26652,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[377],"tags":[713,720,719,714,715,718,716,717],"class_list":["post-48107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-pt-br","tag-balanceamento-de-carga","tag-big-ip-pt-br","tag-controlador-de-fornecimento-de-aplicativos","tag-f5-pt-br","tag-flightpath-pt-br","tag-gerenciador-de-trafego-de-carga","tag-irules-pt-br","tag-trafego"],"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>Como migrar o F5 iRules para o Edgenexus flightPATH - Edgenexus load balancers and Application Security<\/title>\n<meta name=\"description\" content=\"Saiba como migrar facilmente o F5 iRules para o JetNexus FlightPath. Simplifique sua transi\u00e7\u00e3o com orienta\u00e7\u00f5es passo a passo. Leia agora para que voc\u00ea tenha um processo de migra\u00e7\u00e3o tranquilo!\" \/>\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\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Donna Toomey\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\"},\"author\":{\"name\":\"Donna Toomey\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca\"},\"headline\":\"Como migrar o F5 iRules para o Edgenexus flightPATH\",\"datePublished\":\"2025-03-28T17:01:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\"},\"wordCount\":2293,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg\",\"keywords\":[\"balanceamento de carga\",\"big-ip\",\"controlador de fornecimento de aplicativos\",\"F5\",\"flightPATH\",\"gerenciador de tr\u00e1fego de carga\",\"iRules\",\"Tr\u00e1fego\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\",\"url\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\",\"name\":\"Como migrar o F5 iRules para o Edgenexus flightPATH - Edgenexus load balancers and Application Security\",\"isPartOf\":{\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-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:49+00:00\",\"description\":\"Saiba como migrar facilmente o F5 iRules para o JetNexus FlightPath. Simplifique sua transi\u00e7\u00e3o com orienta\u00e7\u00f5es passo a passo. Leia agora para que voc\u00ea tenha um processo de migra\u00e7\u00e3o tranquilo!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-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\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.edgenexus.io\/pt-br\/edgenexus-balanceamento-de-carga-adc-waf-e-gslb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como migrar o F5 iRules para o 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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.edgenexus.io\/zh-hans\/#organization\",\"name\":\"Edgenexus\",\"url\":\"https:\/\/www.edgenexus.io\/zh-hans\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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":"Como migrar o F5 iRules para o Edgenexus flightPATH - Edgenexus load balancers and Application Security","description":"Saiba como migrar facilmente o F5 iRules para o JetNexus FlightPath. Simplifique sua transi\u00e7\u00e3o com orienta\u00e7\u00f5es passo a passo. Leia agora para que voc\u00ea tenha um processo de migra\u00e7\u00e3o tranquilo!","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\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/","twitter_misc":{"Escrito por":"Donna Toomey","Est. tempo de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#article","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/"},"author":{"name":"Donna Toomey","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#\/schema\/person\/dc553ff5b496630eb88bf2d9ee2b31ca"},"headline":"Como migrar o F5 iRules para o Edgenexus flightPATH","datePublished":"2025-03-28T17:01:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/"},"wordCount":2293,"commentCount":0,"publisher":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization"},"image":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#primaryimage"},"thumbnailUrl":"https:\/\/www.edgenexus.io\/wp-content\/uploads\/2018\/08\/How-to-Migrate-F5-iRules-to-Edgenexus-flightPATH-Blog.jpg","keywords":["balanceamento de carga","big-ip","controlador de fornecimento de aplicativos","F5","flightPATH","gerenciador de tr\u00e1fego de carga","iRules","Tr\u00e1fego"],"articleSection":["Blog"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/","url":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/","name":"Como migrar o F5 iRules para o Edgenexus flightPATH - Edgenexus load balancers and Application Security","isPartOf":{"@id":"https:\/\/www.edgenexus.io\/zh-hans\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#primaryimage"},"image":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-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:49+00:00","description":"Saiba como migrar facilmente o F5 iRules para o JetNexus FlightPath. Simplifique sua transi\u00e7\u00e3o com orienta\u00e7\u00f5es passo a passo. Leia agora para que voc\u00ea tenha um processo de migra\u00e7\u00e3o tranquilo!","breadcrumb":{"@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.edgenexus.io\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-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\/pt-br\/blog-pt-br\/como-migrar-o-f5-irules-para-o-edgenexus-flightpath\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.edgenexus.io\/pt-br\/edgenexus-balanceamento-de-carga-adc-waf-e-gslb\/"},{"@type":"ListItem","position":2,"name":"Como migrar o F5 iRules para o 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.edgenexus.io\/zh-hans\/#organization","name":"Edgenexus","url":"https:\/\/www.edgenexus.io\/zh-hans\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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":"pt-BR","@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\/pt-br\/wp-json\/wp\/v2\/posts\/48107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/comments?post=48107"}],"version-history":[{"count":0,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/posts\/48107\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/media\/26652"}],"wp:attachment":[{"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/media?parent=48107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/categories?post=48107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.edgenexus.io\/pt-br\/wp-json\/wp\/v2\/tags?post=48107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}