# Resolvedor de match de domínio / SNI do F5XC

> Cole as listas de domínio de um ou mais HTTP load balancers do F5XC e um hostname de teste, e veja qual load balancer e entrada de domínio vence - exato vence wildcard, com o Default LB pegando o resto.

- Tool: https://ronutz.com/pt-BR/tools/f5xc-domain-sni-match-resolver
- Family: Redes

---

## O que faz

Esta ferramenta responde a uma pergunta precisa do F5 Distributed Cloud (XC): dados vários HTTP load balancers e suas listas de domínio, qual deles serve um hostname específico? Cole os load balancers como um array JSON e um hostname de teste, e o resolvedor nomeia o load balancer e a entrada de domínio vencedores, mostra o porquê, e sinaliza os perigos de configuração que fazem o match de domínio dar errado. Roda inteiramente no seu navegador.

## Como o XC escolhe um load balancer

Quando uma requisição chega, o XC já estreitou as coisas para os load balancers que compartilham o IP e porta de destino (a advertise policy). Entre esses, ele escolhe o match de domínio mais específico. Um FQDN exato - app.example.com listado literalmente - vence um wildcard como *.example.com. O hostname no qual ele casa vem do valor SNI quando o cliente usa HTTPS, ou do header Host quando o cliente usa HTTP puro. Se nada dá match e um load balancer está marcado como o Default para aquela advertise policy, o Default pega a requisição; se não há Default, o hostname não é capturado de forma alguma.

## Wildcards e o apex

Um domínio wildcard é um match de sufixo: *.example.com cobre foo.example.com, mas não cobre o apex example.com, e um certificado TLS wildcard só cobre um único label. É por isso que servir tanto www.example.com (ou qualquer subdomínio) quanto o example.com puro precisa que o apex seja adicionado como seu próprio domínio. A ferramenta torna a distinção wildcard-versus-apex explícita em cada resultado.

## Os perigos que ela sinaliza

O match de domínio quebra de algumas formas reconhecíveis, e a ferramenta avisa sobre cada uma. Configurar tanto um wildcard (*.example.com) quanto seu apex (example.com) em load balancers diferentes que usam certificados automáticos é algo que a F5 especificamente desaconselha. Dois load balancers reivindicando o mesmo domínio exato, ou dois marcados como Default na mesma advertise policy (só um é permitido), são conflitos. Um hostname que dá match em duas entradas com especificidade igual é ambíguo. E um hostname multi-label que dá match em um wildcard vai rotear mas pode falhar a validação do certificado, já que o certificado wildcard cobre apenas um label.

## Standards and references

- [DevCentral: F5 Distributed Cloud - Listener Logic (most-specific domain match, Default LB per advertise policy)](https://community.f5.com/kb/technicalarticles/f5-distributed-cloud---listener-logic/326096) - the most-specific match wins (exact over wildcard); SNI (HTTPS) or Host header (HTTP); one Default LB per advertise policy (IP+port) catches unmatched
- [F5 Distributed Cloud: Load Balancing and Service Mesh (domains as partial match, port in domain)](https://docs.cloud.f5.com/docs-v2/platform/concepts/load-balancing-and-mesh) - domains are DNS names, wildcard *.foo.com partial match, must match certs and host headers, includes port for non-standard ports (*.foo.com:8080)
- [F5 Distributed Cloud: Create TCP Load Balancer (wildcard + apex auto-cert warning)](https://docs.cloud.f5.com/docs-v2/multi-cloud-app-connect/how-to/load-balance/create-tcp-load-balancer) - do not add both a wildcard and the top-level (apex) domain if using an automatic certificate for different load balancers
- [F5 K000161238: multiple custom TLS certificates on a single HTTP or TCP Load Balancer](https://my.f5.com/s/article/K000161238) - several domains/certs on one LB, host-header routing per domain - context for multi-domain LBs

## Related reading

- [Como o XC Decide Qual Load Balancer Vence um Hostname: Listener Logic, Wildcards e o Apex](https://ronutz.com/pt-BR/learn/f5xc-domain-matching-and-listener-logic.md): A advertise policy estreita uma requisição a um IP e porta; dentro dela, o XC escolhe o match de domínio mais específico (exato vence wildcard). O hostname vem do SNI (HTTPS) ou do header Host (HTTP). Um Default load balancer por advertise policy pega o que não deu match. Wildcards são matches de sufixo que não cobrem o apex, certificados wildcard cobrem um único label, e misturar um wildcard com seu apex entre LBs de certificado automático é um perigo.
