Skip To Content

إعداد خادم وكيل عكسي باستخدام ArcGIS Notebook Server

خادم الوكيل العكسي هو كمبيوتر تم نشره على شبكة محيط الشكل (المعروف أيضًا بمناطق مُجردة أو الشبكة الفرعية) التي تُعالج الطلبات من الإنترنت وإرسالهم إلى الأجهزة داخل الشبكة الداخلية. بإعادة توجيه الطلبات، يخفي خادم الوكيل العكسي هوية الأجهزة الموجودة خلف جدار حماية مؤسستك، مما يحمي الأجهزة الداخلية من الهجوم المباشر من مستخدمي الإنترنت. يُمكن تنفيذ وظائف الأمان الإضافية في خادم الوكيل العكسي لحماية الشبكة الداخلية من المستخدمين الخارجيين.

يمكنك تكوين موقع 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

تعيين خاصية WebContextURL

إذا كنت تستخدم خادم وكيل عكسيًا وكان عنوان URL لموقعك لا ينتهي بالسلسلة الافتراضية /arcgis (كله بأحرف صغيرة)، يجب عليك أيضًا تعيين الخاصية ArcGIS Notebook Server WebContextURL. يساعد ذلك ArcGIS Notebook Server على إنشاء عناوين URL الصحيحة على الموارد التي يرسلها إلى المستخدم النهائي.

ملاحظة:‏

استخدم الخاصية WebContextURL لتعيين عنوان URL لـ ArcGIS Notebook Server ليطابق عنوان ArcGIS Web Adaptor (مثل /notebook).

افعل ما يلي لتغيير الخاصية WebContextURL:

  1. قم بتسجيل الدخول إلى دليل المسؤول ArcGIS Notebook Server في https://notebookserver.domain.com:11443/arcgis/admin بصفتك مستخدمًا يتمتع بامتيازات المسؤول.
  2. انقر فوق النظام > الخصائص > تحديث.
  3. في المربع النصي الخصائص، أدخل JSON التالي، واستبدل عنوان URL لـ ArcGIS Notebook Server الخاص بك كما يراه المستخدمون خارج جدار حماية مؤسستك:
    {
       "WebContextURL": "https://notebookserver.domain.com/notebook"
    }
  4. انقر على تحديث.
  5. أعد تشغيل 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 في خادم الوكيل العكسي نظرًا لأن هذا سبب شائع لحدوث حالات فشل الاتصال. تختلف طريقة تعيين هذا العنوان اعتمادًا على تنفيذ الخادم الوكيل العكسي. على سبيل المثال، ينجز Apache هذا الأمر باستخدام دليل ProxyPreserveHost On في تكوينه على النحو التالي:

...
ProxyPreserveHost On
ProxyPass /notebook https://notebookserver.domain.com/notebook
ProxyPassReverse /notebook https://notebookserver.domain.com/notebook
...

للحصول على إرشادات حول كيفية تمرير عنوان المضيف الأصلي، راجع وثائق المنتج لخادم الوكيل العكسي.

مثال: تكوين 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 على الويب ولكن مع عدم تكوينه.

  1. قم بتثبيت Tomcat لتشغيله على المنفذ 8080 باستخدام بروتوكول Apache JServ (AJP)، والذي يتم تمكينه افتراضيًا.
  2. نظرًا لعدم تمكين المنفذ 8443 افتراضيًا على Tomcat، قم بتمكين SSL وأضف موصلاً للمنفذ 8443.

    يتضمن ذلك إنشاء شهادة SSL وتحرير ملف تكوين Tomcat لإضافة الموصل. كإحدى أفضل ممارسات الأمان، يجب تمكين الإصدار 1.2 من TLS فقط.

    ...
    sslProtocol="TLS" SSLProtocol="TLSv1.2"
    ...

  3. انشر الملف arcgis.war لـ ArcGIS Web Adaptor (Java Platform) الحالي على Tomcat.

    في هذا المثال، عنوان URL لـ ArcGIS Web Adaptor هو /nbs.

  4. تثبيت Apache HTTP Server .

    في هذا المثال، يُستخدم مدير الحزم yum. يتم أيضًا تثبيت إمكانات SSL باستخدام yum.

    yum install httpd -y
    yum install mod_ssl -y

  5. قم بتكوين شهادة SSL لـ Apache HTTP Server في الملف ssl.conf.
  6. قم بتعديل ملف httpd.conf على Apache باستخدام قواعد الوكيل (كما تمت مناقشته في القسم السابق) لاتصالات الوكيل ArcGIS Web Adaptor بمنفذ AJP الخاص بـ Tomcat.

    ProxyPass /nbs ajp://myserver.acme.com:8009/nbs
    ProxyPassReverse /nbs ajp://myserver.acme.com:8009/nbs

  7. في الملف ssl.conf على Apache HTTP Server ، استخدم قواعد الوكيل لاتصالات 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>

  8. أعد تشغيل خدمة Apache HTTP Server لتنفيذ تغييرات التكوين.
  9. قم بتكوين ArcGIS Web Adaptor مع ArcGIS Notebook Server.