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

# Externe URL

> Laat gebruikers bestanden van externe URL's toevoegen op een Kubernetes-implementatie, en houd de interne adressen van het cluster buiten bereik.

Bestanden "From External URL" (en de bestanden die de [Import API](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) en `web_fetch` van de AI-assistent downloaden) worden opgehaald door de **linked-url-proxy**-service in elke Ayakaleaf Pro-pod. Deze weigert adressen die niet openbaar zijn, zodat gebruikers er geen interne services mee kunnen uitlezen. De functie en de bijbehorende instellingen staan beschreven in [Externe URL](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Service | linked-url-proxy (`127.0.0.1:3066` in elke pod); web toont het menu wanneer `url` in `ENABLED_LINKED_FILE_TYPES` staat |
| Pod → buiten | de URL's die gebruikers opgeven, op elke poort, rechtstreeks of via `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Status | geen |
| Periodieke taken | geen: een bestand wordt alleen vernieuwd wanneer een gebruiker erom vraagt |

### Configuratie

```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
```

### Wat er op Kubernetes wordt geblokkeerd

De proxy weigert elk adres dat geen openbaar unicast-adres is: loopback, link-local (inclusief het cloud-metadata-adres `169.254.169.254`), de privébereiken `10.0.0.0/8`, `172.16.0.0/12` en `192.168.0.0/16`, het carrier-grade-NAT-bereik `100.64.0.0/10`, en hun IPv6-tegenhangers. Pod- en Service-netwerken in deze bereiken, wat de standaard is voor kubeadm, flannel, Calico en de meeste beheerde clusters, worden daarom zonder enige instelling geblokkeerd, net als de namen binnen het cluster, zoals `redis` of `git-bridge`, die daarnaar resolven.

Openbare adressen zijn toegestaan. Als je nodes of load balancer openbare adressen hebben, voeg die dan toe aan `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (gescheiden door spaties of komma's), zodat gebruikers de NodePorts of een statuspagina niet via die adressen kunnen ophalen.

Als `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` is ingesteld, worden hostnamen door de proxy geresolved, dus worden alleen URL's gecontroleerd die een IP-adres bevatten: de proxy moet je interne netwerken dan zelf blokkeren.

### Meerdere replica's

Niets extra's: elke pod haalt op met zijn eigen linked-url-proxy en dezelfde instellingen.

### Getest op Kubernetes

Op Kubernetes 1.37 met drie replica's, het podnetwerk `10.244.0.0/16` van flannel en het servicenetwerk `10.96.0.0/12` van kubeadm weigerde de proxy downloads van de ClusterIP van een Service, van de namen binnen het cluster `redis`, `garage` en `overleaf-1.overleaf-hl.overleaf.svc.cluster.local`, en van het adres van een node, zonder enige `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. Onze end-to-endtests slagen ook voor het weigeren van loopback en het cloud-metadata-adres via de Import API, en voor de AI-assistent die alleen de pagina's leest die `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES` toestaat.


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