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

# Externí URL

> Umožněte uživatelům v nasazení na Kubernetes přidávat soubory z externích URL a zabraňte přístupu k interním adresám clusteru.

Soubory „From External URL“ (a soubory, které stahuje [Import API](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) a `web_fetch` asistenta AI) načítá služba **linked-url-proxy** uvnitř každého podu Ayakaleaf Pro. Odmítá adresy, které nejsou veřejné, takže přes ni uživatelé nemohou číst interní služby. Funkci a její nastavení popisuje stránka [Externí URL](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Služba | linked-url-proxy (`127.0.0.1:3066` v každém podu); web zobrazí nabídku, když je `url` v `ENABLED_LINKED_FILE_TYPES` |
| Pod → ven | URL zadané uživateli, na libovolném portu, přímo nebo přes `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Stav | žádný |
| Periodické úlohy | žádné: soubor se obnoví pouze na žádost uživatele |

### Konfigurace

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

### Co je na Kubernetes blokováno

Proxy odmítá každou adresu, která není veřejnou unicastovou adresou: loopback, link-local (včetně adresy cloudových metadat `169.254.169.254`), privátní rozsahy `10.0.0.0/8`, `172.16.0.0/12` a `192.168.0.0/16`, rozsah carrier-grade NAT `100.64.0.0/10` a jejich protějšky v IPv6. Sítě podů a Services v těchto rozsazích, což je výchozí stav u kubeadm, flannel, Calico a většiny spravovaných clusterů, jsou proto blokovány bez jakéhokoli nastavení, stejně jako interní názvy v clusteru, například `redis` nebo `git-bridge`, které se na ně překládají.

Veřejné adresy jsou povoleny. Pokud mají vaše uzly nebo load balancer veřejné adresy, přidejte je do `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (oddělené mezerami nebo čárkami), aby přes ně uživatelé nemohli stahovat z NodePortů nebo ze stavové stránky.

Když je nastaveno `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`, názvy hostitelů překládá proxy, takže se kontrolují pouze URL obsahující IP adresu: proxy musí vaše interní sítě blokovat sama.

### Více replik

Nic dalšího není potřeba: každý pod stahuje pomocí vlastní linked-url-proxy se stejným nastavením.

### Otestováno na Kubernetes

Na Kubernetes 1.37 se třemi replikami, sítí podů flannel `10.244.0.0/16` a sítí služeb kubeadm `10.96.0.0/12` proxy odmítla stahování z ClusterIP služby, z interních názvů v clusteru `redis`, `garage` a `overleaf-1.overleaf-hl.overleaf.svc.cluster.local` i z adresy uzlu, a to bez jakéhokoli `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. Naše end-to-end testy procházejí také pro odmítnutí loopbacku a adresy cloudových metadat přes Import API a pro to, že asistent AI čte pouze stránky, které povoluje `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`.


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