> ## 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، وأبقِ العناوين الداخلية للكتلة بعيدة عن متناولهم.

تجلب خدمة **linked-url-proxy** داخل كل Pod من Pods ‏Ayakaleaf Pro ملفات "From External URL" (والملفات التي تنزّلها [واجهة الاستيراد البرمجية](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/kubernetes/integrations/overleaf-import-api.md) والأداة `web_fetch` الخاصة بمساعد الذكاء الاصطناعي). وهي ترفض العناوين غير العامة، لذا لا يستطيع المستخدمون قراءة الخدمات الداخلية من خلالها. الميزة وإعداداتها موضّحة في [عنوان URL خارجي](https://ayakaleaf-pro.mintlify.site/ar/on-premises/configuration/overleaf-toolkit/external-url.md).

| | |
| - | - |
| الخدمة | linked-url-proxy ‏(`127.0.0.1:3066` في كل Pod)؛ تعرض خدمة web القائمة عندما يكون `url` ضمن `ENABLED_LINKED_FILE_TYPES` |
| Pod → الخارج | عناوين 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. لذلك تُحظر شبكات الـ Pods والـ Services الواقعة في هذه النطاقات، وهو الإعداد الافتراضي في kubeadm وflannel وCalico ومعظم الكتل المُدارة، دون أي إعداد، وكذلك الأسماء الداخلية للكتلة مثل `redis` أو `git-bridge` التي تُحَل إليها.

العناوين العامة مسموح بها. إذا كانت للعقد أو لموازن الأحمال لديك عناوين عامة، فأضفها إلى `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS` (مفصولة بمسافات أو فواصل)، حتى لا يتمكن المستخدمون من جلب الـ NodePorts أو صفحة حالة من خلالها.

عند ضبط `OVERLEAF_LINKED_URL_OUTBOUND_PROXY`، يحلّ الوكيلُ الخارجي أسماءَ المضيفين، لذا لا يُتحقَّق إلا من عناوين URL التي تحتوي على عنوان IP: ويجب أن يحظر الوكيل الخارجي شبكاتك الداخلية بنفسه.

### عدة نسخ متماثلة

لا حاجة إلى شيء إضافي: يجلب كل Pod الملفات عبر linked-url-proxy الخاص به وبالإعدادات نفسها.

### الاختبار على Kubernetes

على Kubernetes 1.37 مع ثلاث نسخ متماثلة، وشبكة Pods الخاصة بـ flannel ‏`10.244.0.0/16`، وشبكة الخدمات الخاصة بـ kubeadm ‏`10.96.0.0/12`، رفض الوكيل التنزيلات من ClusterIP لإحدى الـ Services، ومن الأسماء الداخلية للكتلة `redis` و`garage` و`overleaf-1.overleaf-hl.overleaf.svc.cluster.local`، ومن عنوان إحدى العقد، دون أي `OVERLEAF_LINKED_URL_BLOCKED_NETWORKS`. كما نجحت اختباراتنا الشاملة لرفض عنوان loopback وعنوان البيانات الوصفية السحابية عبر واجهة الاستيراد البرمجية، ولقراءة مساعد الذكاء الاصطناعي الصفحات التي يسمح بها `OVERLEAF_LINKED_URL_ALLOWED_RESOURCES` فقط.


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