> ## 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-адреса

> Дозвольте користувачам додавати файли із зовнішніх URL-адрес у розгортанні Kubernetes і захистіть внутрішні адреси кластера від доступу.

Файли «From External URL» (а також файли, які завантажують [Import API](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) і `web_fetch` ШІ-асистента) отримує служба **linked-url-proxy** у кожному поді Ayakaleaf Pro. Вона відхиляє непублічні адреси, тож користувачі не можуть читати через неї внутрішні служби. Функцію та її налаштування описано в розділі [Зовнішня URL-адреса](https://ayakaleaf-pro.mintlify.site/uk/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Служба | linked-url-proxy (`127.0.0.1:3066` у кожному поді); web показує меню, коли `url` є в `ENABLED_LINKED_FILE_TYPES` |
| Под → зовні | URL-адреси, які вказують користувачі, на будь-якому порту, напряму або через `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Стан | немає |
| Періодичні завдання | немає: файл оновлюється лише на запит користувача |

### Конфігурація

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

### Що блокується в Kubernetes

Проксі відхиляє кожну адресу, яка не є публічною unicast-адресою: loopback, link-local (включно з адресою хмарних метаданих `169.254.169.254`), приватні діапазони `10.0.0.0/8`, `172.16.0.0/12` і `192.168.0.0/16`, діапазон carrier-grade NAT `100.64.0.0/10`, а також їхні відповідники IPv6. Мережі подів і Service у цих діапазонах, що є стандартом для kubeadm, flannel, Calico і більшості керованих кластерів, тому блокуються без жодних налаштувань, як і внутрішньокластерні імена на кшталт `redis` чи `git-bridge`, що в них розв'язуються.

Публічні адреси дозволено. Якщо ваші вузли або балансувальник навантаження мають публічні адреси, додайте їх до `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (розділяючи пробілами або комами), щоб користувачі не могли отримати через них NodePort чи сторінку стану.

Якщо задано `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`, імена хостів розв'язує проксі, тож перевіряються лише URL-адреси, що містять IP-адресу: проксі має сам блокувати ваші внутрішні мережі.

### Кілька реплік

Нічого додаткового: кожен под завантажує файли через власний linked-url-proxy з тими самими налаштуваннями.

### Перевірено в Kubernetes

У Kubernetes 1.37 із трьома репліками, мережею подів flannel `10.244.0.0/16` і мережею служб kubeadm `10.96.0.0/12` проксі відхиляв завантаження з ClusterIP служби Service, із внутрішньокластерних імен `redis`, `garage` і `overleaf-1.overleaf-hl.overleaf.svc.cluster.local`, а також з адреси вузла, без жодного `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. Наші наскрізні тести також проходять для відхилення loopback і адреси хмарних метаданих через Import API, а також для того, що ШІ-асистент читає лише сторінки, дозволені `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES`.


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