خادم الوكيل العكسي هو كمبيوتر تم نشره على شبكة محيط الشكل (المعروفة أيضًا بالمنطقة المجردة أو الشبكة الفرعية التي تم فحصها) ويعالج الطلبات من الإنترنت ويرسلها إلى الأجهزة في شبكتك الداخلية. بإعادة توجيه الطلبات، يخفي خادم الوكيل العكسي هوية الأجهزة الموجودة خلف جدار حماية مؤسستك، مما يحمي الأجهزة الداخلية من الهجوم المباشر من مستخدمي الإنترنت. يُمكن تنفيذ وظائف الأمان الإضافية في خادم الوكيل العكسي لحماية الشبكة الداخلية من المستخدمين الخارجيين.
يمكنك تكوين موقع ArcGIS Notebook Server لاستخدام خادم الوكيل العكسي لمؤسستك. اختياري. إذا كانت مؤسستك لا تستخدم وكيلاً عكسيًا، أو إذا كنت لا تريد تكوين موقع ArcGIS Notebook Server لاستخدامه، يمكنك المتابعة لتكوين موقعك مع بوابة إلكترونية.
أضف ArcGIS Notebook Server إلى خادم الوكيل العكسي
يجب تكوين خادم الوكيل العكسي لمؤسستك للتواصل مع ArcGIS Web Adaptor عن طريق إضافة عناوين URL المقابلة إلى توجيهات الوكيل.
على سبيل المثال، إذا كنت تستخدم Apache كخادم وكيل عكسي، يلزمك إضافة عنوان URL لـ ArcGIS Web Adaptor إلى التوجيهات ProxyPass في ملف تكوين خادم الويب Apache httpd.conf على النحو التالي:
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
تحتوي معظم خوادم الوكيل العكسي على مهلة اتصال العميل القابلة للتكوين. سيتم فصل اتصالات WebSocket المستخدمة من قبل ArcGIS Notebook Server للتواصل مع Python kernel عند الوصول إلى مهلة الاتصال وسيظهر إشعار داخل دفتر الملاحظات. إذا حدث هذا في فاصل زمني ثابت، على سبيل المثال كل 1 أو 3 أو 5 دقائق بعد إعادة الاتصال بالنواة kernel، فيجب فحص مهلات الاتصال بمسار الشبكة وزيادتها وفقًا لذلك.
تعيين خاصية WebContextURL
إذا كنت تستخدم خادم وكيل عكسيًا وكان عنوان URL لموقعك لا ينتهي بالسلسلة الافتراضية /arcgis (كله بأحرف صغيرة)، يجب عليك أيضًا تعيين الخاصية ArcGIS Notebook Server WebContextURL. يساعد ذلك ArcGIS Notebook Server على إنشاء عناوين URL الصحيحة على الموارد التي يرسلها إلى المستخدم النهائي.
ملاحظة:
استخدم الخاصية WebContextURL لتعيين عنوان URL لـ ArcGIS Notebook Server ليطابق عنوان ArcGIS Web Adaptor (مثل /notebook).
- سجّل الدخول إلى دليل مسؤول ArcGIS Notebook Server في https://notebookserver.domain.com:11443/arcgis/admin بصفتك مستخدمًا يتمتع بامتيازات المسؤول.
- انقر فوق النظام > الخصائص > تحديث.
- في المربع النصي الخصائص، أدخل JSON التالي، واستبدل عنوان URL لـ ArcGIS Notebook Server الخاص بك كما يراه المستخدمون خارج جدار حماية مؤسستك:
{ "WebContextURL": "https://notebookserver.domain.com/notebook" }
- انقر على تحديث.
- أعد تشغيل ArcGIS Notebook Server. في نظام التشغيل Windows، أعد تشغيل خدمة ArcGIS Server Windows.
عناوين الوكيل العكسي وArcGIS Notebook Server
عند دمج الوكيل العكسي مع ArcGIS Web Adaptor، يجب تعيين الخاصية التالية في العنوان المرسل بواسطة خادم الوكيل العكسي:
X-Forwarded-Host=<FQDN of reverse proxy server>
إذا تم تعيين هذه الخاصية في العنوان، فسيُرجع ArcGIS Web Adaptor الطلبات إلى خادم الوكيل العكسي الذي يتطابق مع عنوان URL لخادم الوكيل العكسي. على سبيل المثال، سيتم إرجاع طلب موجّه إلى دليل الخدمات ArcGIS Notebook Server (https://reverseproxy.domain.com/arcgis/rest/services) إلى العميل كعنوان URL نفسه.
إذا لم يتم تعيين خاصية عنوان X-Forwarded-Host، فقد يُرجع ArcGIS Web Adaptor عنوان URL للجهاز الداخلي الذي تم توجيه الطلب إليه، على سبيل المثال، https://notebookserver.domain.com/arcgis/rest/services بدلاً من https://reverseproxy.domain.com/arcgis/rest/services. ويعد هذا مسببًا للمشاكل حيث لن يتمكن العملاء للوصول إلى عنوان URL هذا (المعروف عمومًا كخطأ مستعرض 404). سيكتسب العميل أيضًا بعض المعرفة بالجهاز الداخلي.
عند استكشاف أخطاء في الاتصال بين العملاء وArcGIS Web Adaptor وإصلاحها، يوصى بتعيين خاصية عنوان X-Forwarded-Host في خادم الوكيل العكسي نظرًا لأن هذا سبب شائع لحدوث حالات فشل الاتصال. تختلف طريقة تعيين هذا العنوان اعتمادًا على تنفيذ الخادم الوكيل العكسي.
للحصول على إرشادات حول كيفية تمرير عنوان المضيف الأصلي، راجع وثائق المنتج لخادم الوكيل العكسي.
تكوين الخادم الوكيل العكسي الخاص بك لموقع ArcGIS Notebook Server متوفر للغاية
عند تنفيذ خادم وكيل عكسي يحتوي على عدة أهداف خلفية يعمل عليها ArcGIS Web Adaptor ومسجلة في موقع ArcGIS Notebook Server واحد، هناك اعتبارات إضافية يجب أن تؤخذ في الاعتبار.
يستخدم ArcGIS Notebook Server اتصالات websocket للتواصل مع نواة Python. تنشئ اتصالات websocket هذه جلسة ذات حالة يجب الحفاظ عليها بواسطة تكوين الوكيل العكسي. يُشار إلى ذلك باسم ثبات الجلسة، ويتطلب موازن تحميل من الطبقة 7 (التطبيق) لتحقيقه.
يمكن تحقيق ثبات الجلسة الصحيح في Apache باستخدام ما يلي:Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://web_adaptors_https>
BalancerMember https://notebook1.domain.com:443 route=notebook1
BalancerMember https://notebook2.domain.com:443 route=notebook2
BalancerMember https://notebook3.domain.com:443 route=notebook3
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>
من المهم أيضًا أن تقوم بتوكيل اتصالات Websocket الآمنة (WSS) لنفس أهداف الواجهة الخلفية:<Proxy balancer://web_adaptors_wss>
BalancerMember wss://notebook1.domain.com:443 route=notebook1
BalancerMember wss://notebook2.domain.com:443 route=notebook2
BalancerMember wss://notebook3.domain.com:443 route=notebook3
ProxySet lbmethod=byrequests
ProxySet stickysession=ROUTEID
</Proxy>