> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# URL externa

> Permita que os usuários adicionem arquivos de URLs externas em uma implantação Kubernetes e mantenha os endereços internos do cluster fora de alcance.

Os arquivos "From External URL" (e os arquivos que a [API de importação](https://ayakaleaf-pro.mintlify.site/pt/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) 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](https://ayakaleaf-pro.mintlify.site/pt/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Serviço | linked-url-proxy (`127.0.0.1:3066` em cada pod); o web exibe o menu quando `url` está em `ENABLED_LINKED_FILE_TYPES` |
| Pod → exterior | as URLs que os usuários informam, em qualquer porta, diretamente ou por meio de `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Estado | nenhum |
| Tarefas periódicas | nenhuma: um arquivo é atualizado apenas quando um usuário solicita |

### Configuração

```yaml title="30-config.yaml (additions)" wrap theme={null}
  ENABLED_LINKED_FILE_TYPES: project_file,project_output_file,url
  # Public addresses of your nodes and load balancer, see below
  OVERLEAF_LINKED_URL_BLOCKED_NETWORKS: 203.0.113.0/24 198.51.100.7/32
  # optional
  # OVERLEAF_LINKED_URL_ALLOWED_RESOURCES: ^https?://www\.example\.com/public/
  # OVERLEAF_LINKED_URL_OUTBOUND_PROXY: http://proxy.example.com:3128
```

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

### 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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.