> ## 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 bên ngoài

> Cho phép người dùng thêm tệp từ URL bên ngoài trên triển khai Kubernetes, đồng thời giữ các địa chỉ nội bộ của cluster ngoài tầm truy cập.

Các tệp “From External URL” (cùng các tệp mà [Import API](https://ayakaleaf-pro.mintlify.site/vi/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) và `web_fetch` của trợ lý AI tải xuống) được lấy bởi dịch vụ **linked-url-proxy** bên trong mọi pod Ayakaleaf Pro. Dịch vụ này từ chối các địa chỉ không công khai, nên người dùng không thể đọc các dịch vụ nội bộ thông qua nó. Tính năng và các thiết lập của nó được mô tả trong [URL bên ngoài](https://ayakaleaf-pro.mintlify.site/vi/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| Dịch vụ | linked-url-proxy (`127.0.0.1:3066` trong mọi pod); web hiển thị menu khi `url` có trong `ENABLED_LINKED_FILE_TYPES` |
| Pod → bên ngoài | các URL người dùng cung cấp, trên bất kỳ cổng nào, trực tiếp hoặc qua `OVERLEAF_LINKED_URL_OUTBOUND_PROXY` |
| Trạng thái | không có |
| Tác vụ định kỳ | không có: một tệp chỉ được làm mới khi người dùng yêu cầu |

### Cấu hình

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

### Những gì bị chặn trên Kubernetes

Proxy từ chối mọi địa chỉ không phải là địa chỉ unicast công khai: loopback, link-local (bao gồm địa chỉ metadata của cloud `169.254.169.254`), các dải riêng `10.0.0.0/8`, `172.16.0.0/12` và `192.168.0.0/16`, dải carrier-grade NAT `100.64.0.0/10`, và các dải IPv6 tương ứng. Do đó, các mạng Pod và Service nằm trong những dải này, vốn là mặc định của kubeadm, flannel, Calico và hầu hết các cluster được quản lý, đều bị chặn mà không cần thiết lập nào, và các tên nội bộ cluster như `redis` hay `git-bridge` phân giải tới chúng cũng vậy.

Các địa chỉ công khai được cho phép. Nếu các node hoặc load balancer của bạn có địa chỉ công khai, hãy thêm chúng vào `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (phân tách bằng dấu cách hoặc dấu phẩy), để người dùng không thể lấy dữ liệu từ các NodePort hoặc một trang trạng thái thông qua chúng.

Khi đặt `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`, tên máy chủ được proxy phân giải, nên chỉ những URL chứa địa chỉ IP mới được kiểm tra: proxy đó phải tự chặn các mạng nội bộ của bạn.

### Nhiều replica

Không cần gì thêm: mỗi pod tải dữ liệu bằng linked-url-proxy riêng của mình với cùng thiết lập.

### Đã kiểm thử trên Kubernetes

Trên Kubernetes 1.37 với ba replica, mạng pod `10.244.0.0/16` của flannel và mạng service `10.96.0.0/12` của kubeadm, proxy đã từ chối tải xuống từ ClusterIP của một Service, từ các tên nội bộ cluster `redis`, `garage` và `overleaf-1.overleaf-hl.overleaf.svc.cluster.local`, và từ địa chỉ của một node, mà không cần `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. Các bài kiểm thử end-to-end của chúng tôi cũng đạt đối với việc từ chối loopback và địa chỉ metadata của cloud qua Import API, và đối với việc trợ lý AI chỉ đọc những trang mà `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES` cho phép.


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