Skip to main content
Os arquivos “From External URL” (e os arquivos que a API de importação e o web_fetch do assistente de IA baixam) são buscados pelo serviço linked-url-proxy dentro de cada pod do Ayakaleaf Pro. Ele recusa endereços que não são públicos, para que os usuários não possam ler serviços internos por meio dele. O recurso e suas configurações estão descritos em URL externa.

Configuração

30-config.yaml (additions)

O que é bloqueado no Kubernetes

O proxy recusa todo endereço que não seja um endereço unicast público: loopback, link-local (incluindo o endereço de metadados da nuvem 169.254.169.254), as faixas privadas 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, a faixa de NAT de nível de operadora 100.64.0.0/10 e seus equivalentes IPv6. As redes de pods e de Services nessas faixas, que é o padrão do kubeadm, do flannel, do Calico e da maioria dos clusters gerenciados, são portanto bloqueadas sem nenhuma configuração, assim como os nomes internos do cluster, como redis ou git-bridge, que resolvem para elas. Endereços públicos são permitidos. Se os seus nós ou o seu balanceador de carga têm endereços públicos, adicione-os a OVERLEAF_LINKED_URL_BLOCKED_NETWORKS (separados por espaços ou vírgulas), para que os usuários não possam buscar as NodePorts ou uma página de status por meio deles. Com OVERLEAF_LINKED_URL_OUTBOUND_PROXY definida, os nomes de host são resolvidos pelo proxy, então apenas URLs que contêm um endereço IP são verificadas: o próprio proxy precisa bloquear suas redes internas.

Várias réplicas

Nada extra: cada pod busca com seu próprio linked-url-proxy e as mesmas configurações.

Testado no Kubernetes

No Kubernetes 1.37 com três réplicas, a rede de pods do flannel 10.244.0.0/16 e a rede de serviços do kubeadm 10.96.0.0/12, o proxy recusou downloads do ClusterIP de um Service, dos nomes internos do cluster redis, garage e overleaf-1.overleaf-hl.overleaf.svc.cluster.local e do endereço de um nó, sem nenhuma OVERLEAF_LINKED_URL_BLOCKED_NETWORKS. Nossos testes de ponta a ponta também passam para a recusa de loopback e do endereço de metadados da nuvem por meio da API de importação, e para o assistente de IA lendo apenas as páginas que OVERLEAF_LINKED_URL_ALLOWED_RESOURCES permite.
Última modificação em 2 de novembro de 2026