2012-10-10 11 views
7

मैं एन 2 सी एमएमएस का उपयोग कर रहा हूं और इसके साथ कुछ मुद्दों को देख रहा हूं। इसमें बाएं हाथ की ओर एक नेविगेशन पैनल है जो पेड़ का विस्तार करते समय AJAX के माध्यम से लोड होता है।500 आंतरिक सर्वर त्रुटि आईआईएस 7 एनकोडेड यूआरएल

कोड जो नोड के बच्चे को प्राप्त करता है वह कुछ पैरामीटर के साथ एक एएसएक्स फ़ाइल को कॉल करता है। एक पैरामीटर पथ के लिए है और इसमें स्लेश शामिल हैं। इस कारण से इसे एन्कोड किया गया है।

.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=%252fhome%252fhelp-and-advice%252f 

मैं अपने विकास सर्वर पर इस के साथ कोई समस्या नहीं पड़ा है (चल रहा IIS 7.5), लेकिन जब हमारे परीक्षण सर्वर के लिए तैनात (IIS7) नेविगेशन काम करने के लिए विफल रहता है।

इस जांच से पता चला है कि उपर्युक्त यूआरएल 500 त्रुटि देता है।

तो मैं

.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=/home/help-and-advice/ 

के यूआरएल को डिकोड यह कोई समस्या नहीं के साथ काम करता है।

दुर्भाग्यवश मैं उस कोड को नहीं बदल सकता जो इसे एन 2 सेमी स्रोत कोड के हिस्से के रूप में उत्पन्न करता है और मुझे लगता है कि इसे एक अच्छे कारण के लिए एन्कोड किया गया है।

क्या किसी को कुछ भी पता है जो मैं अपने वेब.कॉन्फिग में या तो एन्कोडेड पैरामीटर या आईआईएस सर्वर पर कुछ बदल सकता हूं?

संपादित करें: तो यह लिंक सुझाव देता है कि यह एक सुरक्षा मेसुर के रूप में उद्देश्य पर कर रहा है। http://msdn.microsoft.com/en-us/library/ee656542.aspx

सुझाव दिया समाधान 4.0 .NET और web.config

<configuration> 
<uri> 
    <schemeSettings> 
    <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/> 
    </schemeSettings> 
</uri> 
</configuration> 

दुर्भाग्य से इस पर कोई असर नहीं लगता है के लिए निम्न जोड़ने के लिए उन्नत करने के लिए है।

कोई विचार क्यों यह काम नहीं करता है?

उत्तर

1

यह URLScan उपयोगिता हो सकता है। यूआरएल स्कैन ब्लॉक को यूआरएल की विन्यास फाइल में नियमों के आधार पर ब्लॉक करता है। इसमें इसकी अपनी लॉग फ़ाइल भी है, इसलिए आप URLScan लॉग को देख कर निश्चित रूप से बता सकते हैं।

URLSCan डिफ़ॉल्ट स्थान के लिए Google खोज करें।

+0

URLScan एक आईआईएस एडन प्रतीत होता है। मुझे नहीं लगता कि हमने इसे स्थापित किया है। मैं इसे एड निकालें प्रोग्राम या विंडोज़ फीचर्स में ठीक नहीं कर सकता। – sianabanana

+0

यहां जांचें सी: \ विंडोज \ System32 \ inetsrv \ urlscan या यहां सी: \ विंडोज \ SysWOW64 \ inetsrv \ urlscan। स्थान इस बात पर निर्भर करता है कि आप 64 बिट चल रहे हैं या नहीं। यदि urlscan उन स्थानों में से किसी एक में मौजूद है और एक "लॉग" उपनिर्देशिका है, तो आप इसे चला रहे हैं। –

+0

जैसा कि मैंने कहा, यह स्थापित नहीं है। वे फ़ोल्डर्स मौजूद नहीं हैं और न ही मशीन पर किसी भी फाइल या फ़ोल्डर में urlscan का कोई संदर्भ है। – sianabanana

1

ऐसा लगता है कि आपका यूआरएल 2 एचटीएमएल एन्कोड के माध्यम से चला जाता है। क्या आपके आईआईएस 7 सर्वर पर कुछ यूआरएल रीराइटिंग मॉड्यूल सक्रिय है?

+0

ऐसा नहीं है कि मुझे पता है। यह एक मानक विंडोज़ वेब सर्वर 2008 स्थापना (iis7 के साथ) है। मुझे लगता है कि यह आईआईएस 7 की एक "फीचर" है जो iis7.5 पर एक ही कोड के साथ एक समान मानक स्थापना के रूप में इस "फीचर" नहीं है। – sianabanana

0

ठीक है, मैं इसके साथ कहीं और हो रहा हूं।

आईआईएस लॉग में त्रुटि और असफल होने में त्रुटि खोजने का प्रयास करते समय, असफल ट्रेसिंग अनुरोध के बारे में कई पोस्ट देखकर और अभी भी आईआईएस में कोई त्रुटि नहीं मिल रही है, मुझे लगा कि अनुरोध आईआईएस नहीं हो रहा था।

सर्वर त्रुटि पर वापस देखकर, वहां एक सुराग भी था।
500 आंतरिक सर्वर त्रुटि। अनुरोध HTTP फ़िल्टर द्वारा अस्वीकार कर दिया गया था।

यह फ़ायरवॉल है !! हमने HTTP फ़िल्टर को अक्षम कर दिया है और अब यह काम करता है :)

अब मुझे यह जांचने की आवश्यकता है कि यह HTTP फ़िल्टर हमें किस प्रकार से सुरक्षित रखता है और क्या हम अभी सुरक्षित हैं, हमने इसे बंद कर दिया है।

संबंधित मुद्दे