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

# Zewnętrzny URL

> Umożliwienie użytkownikom dodawania plików z zewnętrznych adresów URL we wdrożeniu Kubernetes przy jednoczesnym zablokowaniu dostępu do wewnętrznych adresów klastra.

Pliki „From External URL” (oraz pliki pobierane przez [Import API](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) i przez `web_fetch` asystenta AI) są pobierane przez usługę **linked-url-proxy** w każdym podzie Ayakaleaf Pro. Odrzuca ona adresy, które nie są publiczne, więc użytkownicy nie mogą za jej pomocą odczytywać usług wewnętrznych. Funkcję i jej ustawienia opisano w [Zewnętrzny URL](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Usługa | linked-url-proxy (`127.0.0.1:3066` w każdym podzie); web wyświetla menu, gdy `url` znajduje się w `ENABLED_LINKED_FILE_TYPES` |
| Pod → na zewnątrz | adresy URL podane przez użytkowników, na dowolnym porcie, bezpośrednio lub przez `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Stan | brak |
| Zadania okresowe | brak: plik jest odświeżany tylko na żądanie użytkownika |

### Konfiguracja

```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 jest blokowane na Kubernetes

Proxy odrzuca każdy adres, który nie jest publicznym adresem unicast: loopback, link-local (w tym adres metadanych chmury `169.254.169.254`), zakresy prywatne `10.0.0.0/8`, `172.16.0.0/12` i `192.168.0.0/16`, zakres carrier-grade NAT `100.64.0.0/10` oraz ich odpowiedniki IPv6. Sieci podów i Service w tych zakresach — co jest domyślne dla kubeadm, flannel, Calico i większości zarządzanych klastrów — są więc blokowane bez żadnych ustawień, podobnie jak wewnątrzklastrowe nazwy, takie jak `redis` czy `git-bridge`, które rozwiązują się na te adresy.

Adresy publiczne są dozwolone. Jeśli Twoje węzły lub load balancer mają adresy publiczne, dodaj je do `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (rozdzielone spacjami lub przecinkami), aby użytkownicy nie mogli przez nie pobierać zawartości z NodePortów ani strony statusu.

Gdy ustawiono `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`, nazwy hostów są rozwiązywane przez proxy, więc sprawdzane są tylko adresy URL zawierające adres IP: proxy musi samo blokować Twoje sieci wewnętrzne.

### Kilka replik

Nic dodatkowego: każdy pod pobiera pliki przez własne linked-url-proxy z tymi samymi ustawieniami.

### Przetestowano na Kubernetes

Na Kubernetes 1.37 z trzema replikami, siecią podów flannel `10.244.0.0/16` i siecią usług kubeadm `10.96.0.0/12` proxy odrzuciło pobieranie z ClusterIP usługi Service, z wewnątrzklastrowych nazw `redis`, `garage` i `overleaf-1.overleaf-hl.overleaf.svc.cluster.local` oraz z adresu węzła, bez ustawiania `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. Nasze testy end-to-end przechodzą również dla odrzucania adresu loopback i adresu metadanych chmury przez Import API oraz dla asystenta AI odczytującego tylko strony dozwolone przez `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`.


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