Pular para o conteúdo principal

Servidor DNS Interno

O servidor DNS fornece resolução de nomes geo-aware para domínios .internal.

Uso

# Habilitar servidor DNS
export EDGEPROXY_DNS_ENABLED=true
export EDGEPROXY_DNS_LISTEN_ADDR=0.0.0.0:5353
export EDGEPROXY_DNS_DOMAIN=internal

# Consultar melhor IP de backend (geo-aware)
dig @localhost -p 5353 myapp.internal A

# Resposta: Melhor IP de backend baseado na localização do cliente
;; ANSWER SECTION:
myapp.internal. 300 IN A 10.50.1.5

Schema DNS

DomínioResolve ParaExemplo
<app>.internalMelhor IP de backendmyapp.internal10.50.1.5
<region>.backends.internalIP WG do backendnrt.backends.internal10.50.4.1
<region>.pops.internalIP WG do POPhkg.pops.internal10.50.5.1

Configuração

VariávelPadrãoDescrição
EDGEPROXY_DNS_ENABLEDfalseHabilitar servidor DNS
EDGEPROXY_DNS_LISTEN_ADDR0.0.0.0:5353Endereço DNS
EDGEPROXY_DNS_DOMAINinternalSufixo do domínio DNS

Benefícios

  • Abstração: Mude IPs sem atualizar configs
  • Migração: Mova backends sem downtime
  • Geo-aware: Retorna melhor backend baseado na localização do cliente

Exemplos de Integração

Docker Compose

services:
app:
dns: edgeproxy
environment:
- API_HOST=backend.internal

Configuração de Aplicação

# Em vez de hardcode de IPs
export BACKEND_HOST=myapp.internal

# Aplicação resolve via DNS do edgeProxy
curl http://myapp.internal:8080/api