تخطي إلى المحتوى الرئيسي
الدعم
تسجيل الدخول باستخدام حساب Microsoft
تسجيل الدخول أو إنشاء حساب.
مرحباً،
تحديد استخدام حساب مختلف!
لديك حسابات متعددة
اختر الحساب الذي تريد تسجيل الدخول باستخدامه.

الأعراض

عند استخدام ميزة IIS واجهة العبارة العامة (CGI) لاستضافة برنامج قابل للتنفيذ استخدام مكتبة معينة لإعادة توجيه الطلبات، قد ضلل الطلبات استناداً إلى وجود رأس طلب "وكيل". تعرف عدة منصات تطبيق ويب لاستخدام هذه المكتبة. ومن بينها بيثون PHP والانتقال، بين أمور أخرى.

السبب

المجموعة الاستشارية لإندونيسيا هو واجهة الذي يسمح ملقم ويب لاستضافة التطبيقات التي يتم تشغيلها كعمليات القابل للتنفيذ. عند تلقي طلب من قبل ملقم ويب، الملقم بدء عملية جديدة لمعالجة هذا الطلب واحد. عند إكمال الطلب، يتم إنهاء العملية. من أجل عملية الوصول إلى بيانات الطلب، يتم تضمين كمتغيرات البيئة التي تحتوي على "HTTP_" إرفاق مسبقاً اسمه رؤوس الطلب. ولذلك، العمليات CGI للطلبات التي تحتوي على عنوان يسمى "الوكيل" لديها متغير بيئة "HTTP_PROXY" التي تحتوي على نفس قيمة عنوان الطلب.

سطر الأوامر ثني ومكتبة تستخدم عادة لتمكين مختلف أنواع التطبيقات تقديم طلبات إلى أنواع مختلفة من ملقمات ويب. يمكن تكوين هذه المكتبة باستخدام معلمات سطر الأوامر، أو أنه يمكن قراءة معلمات التكوين من متغيرات البيئة عملية المضيف. "HTTP_PROXY" هي واحدة من العديد من معلمات التكوين التي يستخدمها ثني. يتم استخدام "HTTP_PROXY" بثني لإرسال طلب HTTP من خلال الوكيل المكون.

ملاحظة: وهذا لا تتصل "HTTP_PROXY" كتمثيل عنوان طلب العميل.

عندما يتم استضافة ثني داخل عملية المجموعة الاستشارية لإندونيسيا، ويحتوي على عملية متغير بيئة يسمى "HTTP_PROXY"، يستخدم ثني قيمته لإرسال البيانات المطلوب من خلال الوكيل HTTP المحدد له قيمة في متغير البيئة. يحدث هذا بسبب ثني يتوقع أن "HTTP_PROXY" هو تكوين توجيه وليس رأس طلب عميل.

الحل البديل

لإيجاد حل بديل لهذه المشكلة، يجب استخدام CGI على خادم يقوم بتشغيل IIS. المجموعة الاستشارية لإندونيسيا هي واجهة قديمة إلى حد كبير محل واجهات أحدث وأكثر تتعلق بالأداء. وبوجه خاص، يجب استضافة بيثون PHP والانتقال عبر FastCGI في IIS. FastCGI لا تستخدم متغيرات البيئة لرؤوس طلب العميل وليس لديه هذه المشكلة. ومع ذلك لبى، بعض التطبيقات قد استخدم الدالة getenv() حالات استرداد متغيرات البيئة. حتى عندما PHP ليس استضافت داخل عملية المجموعة الاستشارية لإندونيسيا، فإنه يتطابق سلوك المجموعة الاستشارية لإندونيسيا خلال قيم الرأس الطلب في مجموعة البيانات المتوفرة لوظيفته getenv() . إذا كنت تستخدم تطبيق PHP يسترد HTTP_PROXY بهذه الطريقة، تكون فعالة عوامل تخفيف المشاكل التالية مسح قيمة الرأس أو رفض طلبات بعنوان وكيل.

إذا كان لديك لاستخدام CGI لسبب من الأسباب، حظر الطلبات التي تحتوي على عنوان طلب المسمى "الوكيل" أو قم بإلغاء تحديد قيمة الرأس.  هذا بسبب "الوكيل" ليس اسم رأس طلب قياسية والمستعرضات سيتم بشكل عام دون إرساله.

لحظر طلب يحتوي على عنوان وكيل (الحل المفضل)، قم بتشغيل سطر الأوامر التالي:

appcmd تعيين التكوين/section:requestfiltering/+ requestlimits.headerLimits. [رأس 'الوكيل'، سيزيليميت = = '0']
ملاحظة: Appcmd.exe غير عادة في المسار ويمكن العثور عليها في الدليل %systemroot%\system32\inetsrv

لإلغاء تحديد قيمة الرأس، يمكنك استخدام القاعدة إعادة كتابة URL التالي:

<system.webServer>    <rewrite>
<rules>
<rule name="Erase HTTP_PROXY" patternSyntax="Wildcard">
<match url="*.*" />
<serverVariables>
<set name="HTTP_PROXY" value="" />
</serverVariables>
<action type="None" />
</rule>
</rules>
</rewrite>
</system.webServer>


ملاحظة: إعادة كتابة عنوان تحميل الوظيفة الإضافية إلى IIS وغير مضمن في تثبيت افتراضي IIS.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

تساعدك المجتمعات على طرح الأسئلة والإجابة عليها، وتقديم الملاحظات، وسماعها من الخبراء ذوي الاطلاع الواسع.

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×