ينطبق على
Windows 10 Windows 10, version 1511, all editions Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Standard Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows RT 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows Server 2008 R2 Foundation Windows 7 Service Pack 1 Windows 7 Ultimate Windows 7 Enterprise Windows 7 Professional Windows 7 Home Premium Windows 7 Home Basic Windows 7 Starter Windows Server 2008 Service Pack 2 Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 Web Edition Windows Server 2008 Foundation Windows Server 2008 for Itanium-Based Systems Windows Vista Service Pack 2 Windows Vista Ultimate Windows Vista Enterprise Windows Vista Business Windows Vista Home Premium Windows Vista Home Basic Windows Vista Starter

الأعراض

عند استخدام ميزة 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.

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

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

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