خادم الوكيل العكسي هو كمبيوتر تم نشره على شبكة محيط الشكل (المعروفة أيضًا بالمنطقة المجردة أو الشبكة الفرعية التي تم فحصها) ويعالج الطلبات من الإنترنت ويرسلها إلى الأجهزة في شبكتك الداخلية. بإعادة توجيه الطلبات، يخفي خادم الوكيل العكسي هوية الأجهزة الموجودة خلف جدار حماية مؤسستك، مما يحمي الأجهزة الداخلية من الهجوم المباشر من مستخدمي الإنترنت. يُمكن تنفيذ وظائف الأمان الإضافية في خادم الوكيل العكسي لحماية الشبكة الداخلية من المستخدمين الخارجيين.
يمكنك تكوين موقع 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. في نظام التشغيل Linux، قم بتشغيل البرنامجين النصيين stopnotebookserver.sh وstartnotebookserver.sh الموجودين في مجلد التثبيت.
عناوين الوكيل العكسي و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>
مثال: تكوين Apache وTomcat مع ArcGIS Notebook Server
يمكنك تكوين وكيل عكسي مع ArcGIS Notebook Server باستخدام أي برنامج خادم ويب. يصف نموذج سير العمل التالي خطوات إعداد وكيل عكسي باستخدام Apache HTTP Server وApache Tomcat. وهذا مثال على تكوين وكيل عكسي، وليست تعليمات نهائية.
يستخدم نموذج سير العمل هذا البرامج والإصدارات التالية، جميعها مثبتة على الجهاز نفسه مثل ArcGIS Notebook Server:
- Red Hat Enterprise Linux Server 7.5
- Apache HTTP Server، httpd 2.4.6
- Apache Tomcat 9.0.20 / OpenJDK 1.8.0
يمكن أن توجد مكونات البرامج هذه أيضًا في بنية موزعة مع ArcGIS Notebook Server وApache HTTP Server وApache Tomcat، كلها على أجهزة منفصلة.
تبدأ الخطوات التالية بعد تثبيت ArcGIS Notebook Server و Mirantis Container Runtime وتكوينهما، وتثبيت مثيل ArcGIS Web Adaptor على خادم Java على الويب ولكن مع عدم تكوينه.
- قم بتثبيت Tomcat لتشغيله على المنفذ 8080 باستخدام بروتوكول Apache JServ (AJP)، والذي يتم تمكينه افتراضيًا.
- نظرًا لعدم تمكين المنفذ 8443 افتراضيًا على Tomcat، قم بتمكين SSL وأضف موصلاً للمنفذ 8443.
يتضمن ذلك إنشاء شهادة SSL وتحرير ملف تكوين Tomcat لإضافة الموصل. كإحدى أفضل ممارسات الأمان، يجب تمكين الإصدار 1.2 من TLS فقط.
... sslProtocol="TLS" SSLProtocol="TLSv1.2" ...
- انشر ملف arcgis.war لـ ArcGIS Web Adaptor (Java Platform) الحالي على Tomcat.
في هذا المثال، عنوان URL لـ ArcGIS Web Adaptor هو /nbs.
- تثبيت Apache HTTP Server.
في هذا المثال، يُستخدم مدير حزم yum. يتم أيضًا تثبيت إمكانات SSL باستخدام yum.
yum install httpd -y yum install mod_ssl -y
- قم بتكوين شهادة SSL لـ Apache HTTP Server في الملف ssl.conf.
- عدّل ملف httpd.conf على Apache باستخدام قواعد الوكيل (كما تمت مناقشته في القسم السابق) لاتصالات الوكيل ArcGIS Web Adaptor بمنفذ AJP الخاص بـ Tomcat.
ProxyPass /nbs ajp://myserver.acme.com:8009/nbs ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs
- في الملف Apache HTTP Server ssl.conf، استخدم قواعد الوكيل لاتصالات SSL ArcGIS Web Adaptor للوكيل بمنفذ AJP الخاص بـ Tomcat. من المهم أيضًا إنشاء طلبات WebSocket للوكيل، والتي تُستخدم بواسطة ArcGIS Notebook Server؛ وإذا لم يتم التعامل مع طلبات WebSocket بشكل صحيح، فلن يتم فتح ArcGIS Notebooks بشكل صحيح.
SSLProxyEngine On # Use RewriteEngine to handle WebSocket connection upgrades RewriteEngine On RewriteCond %{HTTP:Connection} Upgrade [NC] RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteRule /(.*) wss://myserver.acme.com:8443/$1 [P,L] <Location "/nbs"> ProxyPreserveHost On ProxyPass ajp://myserver.acme.com:8009/nbs ProxyPassReverse ajp://myserver.acme.com:8009/nbs </Location>
- أعد تشغيل خدمة Apache HTTP Server لتنفيذ تغييرات التكوين.
- قم بتكوين ArcGIS Web Adaptor مع ArcGIS Notebook Server.