इवेंट लॉग में कुछ नहीं लिखे जाने पर IIS 7.5 पर 500 आंतरिक सर्वर त्रुटि का निदान कैसे करें?


43

मैंने अभी एक मौजूदा ASP.NET MVC3 साइट के लिए एक अपडेट तैनात किया है (यह पहले से ही कॉन्फ़िगर किया गया था) और मुझे आईआईएस ब्लू स्क्रीन ऑफ़ डेथ फ़्लाटिंग मिल रही है

HTTP त्रुटि 500.0 - आंतरिक सर्वर त्रुटि
पृष्ठ को प्रदर्शित नहीं किया जा सकता क्योंकि आंतरिक सर्वर त्रुटि हुई है।

हालाँकि; एप्लिकेशन ईवेंट लॉग में कुछ भी दिखाई नहीं दे रहा है जहां मुझे प्रविष्टि के विस्तृत (अधिक) विस्तृत विवरण देखने की उम्मीद होगी।

मैं इस मुद्दे का निदान कैसे कर सकता हूं?


मैं यहाँ एक ही मुद्दा था। मेरे अनुभव में, अगर ईवेंट लॉग रिक्वेस्ट से खाली है, तो वर्कर प्रक्रिया में सही तरीके से रूट नहीं किया गया था। हमारी हालिया तैनाती में हमने ऐप को रुक-रुक कर लगभग 50% अनुरोधों के साथ 500 त्रुटि के साथ यादृच्छिक रूप से विफल होने और लॉग में कुछ भी नहीं देखा। मुझे संदेह है कि AppDomain अनलोड के साथ कुछ गलत हो रहा है जो तैनाती के बाद होता है। जिज्ञासा से बाहर, क्या आप अपने उत्पादन वातावरण में एंटीवायरस चला रहे हैं? क्या एक IIS रीसेट समस्या को हल करता है (अगली तैनाती तक)?
शैडोचेसर

जवाबों:


41

IIS7 की असफल अनुरोध अनुरेखण सुविधा पर एक नज़र डालें:

IIS 7 में ट्रेसिंग का उपयोग करके समस्या निवारण समस्या निवारण अनुरोधित अनुरेखण के
साथ समस्या निवारण

दूसरी बात जो मैं करता हूँ वह है आपकी <httpErrors>सेटिंग को टालना क्योंकि IIS आगे पाइपलाइन से एक त्रुटि संदेश निगल सकता है:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>

यदि साइट क्लासिक एएसपी में लिखी गई है, तो एएसपी कॉन्फ़िगरेशन सुविधा में ब्राउज़र सेटिंग पर भेजें त्रुटियों को चालू करना सुनिश्चित करें :

यहाँ छवि विवरण दर्ज करें

और अंत में, यदि आप इंटरनेट एक्सप्लोरर का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपने उन्नत सेटिंग्स में दोस्ताना HTTP त्रुटि संदेश बंद कर दिया है (हालांकि मुझे संदेह है कि आपने पहले से ही किया है या एक अलग ब्राउज़र का उपयोग कर रहे हैं)।


2
मौजूदा रिप्लेसमेंट को रिप्लेस करने के लिए सेट किया गया था। पारितोषिक के लिए धन्यवाद।
ग्रेग बी

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

13

मेरे मामले में:

  • इवेंट लॉग खाली था।
  • web.config भ्रष्ट नहीं था - स्थानीय मशीन / उसी का उपयोग करके सत्यापित किया गया inetmgr

आखिरकार...

  • IIS लॉग की जाँच करना इस तरह का अनुरोध करता है

...Chrome/57.0.2987.133+Safari/537.36 500 19 5 312

की जा रही है:

sc-status sc-substatus sc-win32-status 500 19 5

जो कुछ googling ने मुझे फ़ोल्डर में IIS_USRSपढ़ने की अनुमति नहीं होने के लिए इशारा कियाwww


2
मुझे यहां स्थिति कोड की सूची मिली: support.microsoft.com/en-us/help/943891/…
sirdank

4

सबसे स्पष्ट मुद्दा वेब एप्लिकेशन फ़ोल्डर पर अनुचित या शून्य NTFS अधिकार है। इसलिए सुनिश्चित करें कि साइट की सेवा करने वाले खाते की सही अनुमति है। वेब निर्देशिका के लिए उचित NTFS अधिकारों के बिना यह मायने नहीं रखता कि आपने वेब में क्या रखा है। क्योंकि यह कभी पढ़ा नहीं जाएगा।

एक त्वरित जांच सभी को पूर्ण अधिकार दे सकती है - यदि साइट काम करना शुरू करती है तो आपको पता है कि यह एक अधिकार समस्या है और आप तब उचित अधिकारों को अधिक उपयुक्त खाते में निर्दिष्ट करने के बारे में सेट कर सकते हैं।


1

यदि IIS6 से अपग्रेड किया जाता है, तो यह 6 में से एक web.config पर काम कर सकता है, लेकिन IIS 7.5 में नहीं ... वेबसाइट के लिए IIS के सभी आइकन पर डबल क्लिक करें और आपको प्रारूप के बारे में एक त्रुटि मिल सकती है (सेक्शन अन्य अनुभाग से नीचे होना चाहिए ...)


0

मुझे Azure Web App के साथ भी यही समस्या थी। स्थानीय रूप से डिबगिंग करते समय, त्रुटि संदेश (JSON) अजाक्स कॉल से पूरी तरह से ब्राउज़र में वापस आ गए थे। लेकिन एक बार वेब ऐप पर तैनात होने के बाद, संदेश निगल गए और मुझे एक डिफ़ॉल्ट 500 त्रुटि संदेश वापस कर दिया गया। इसलिए मुझे web.config टैग में स्पष्ट रूप से existingResponseमान सेट करना पड़ा ।PassThroughhttpErrors

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.