2014-05-06 8 views
6

पर त्रुटि 500 ​​अगर मुझे मेरी कोल्डफ्यूजन स्क्रिप्ट में कोई त्रुटि है, तो मुझे कोल्डफ्यूजन के बजाय आईआईएस से 500 त्रुटि संदेश मिल रहा है। यह केवल तभी होता है जब मैं यूआरएल में फ़ाइल का नाम प्रदान करता हूं और ऐसा नहीं होता अगर मैं स्क्रिप्ट नाम के बिना यूआरएल खोलता हूं (जो index.cfm खुलता है)।आईआईएस 8/8.5 पर कोल्डफ्यूजन 10/11

उदाहरण के लिए:

मैं अपने 3 ColdFusion प्लेटफार्मों की 2 पर इस समस्या को पुन: पेश कर सकते हैं:

  • कार्य: IIS ColdFusion 10 अद्यतन 12
  • नहीं कार्य (अद्यतन कनेक्टर के साथ) के साथ 7.5: ColdFusion के साथ 8 IIS 10 अपडेट 12 (अद्यतन के साथ कनेक्टर)
  • नहीं कार्य: ColdFusion 11
  • साथ 8.5 IIS

मेरे index.cfm & foobar.cfm:

<!--- provoke a coldfusion error ---> 
<cfset foo 

मेरे web.config:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <httpErrors errorMode="Custom" existingResponse="PassThrough" /> 
    </system.webServer> 
</configuration> 

मेरे लिए ऐसा लगता है कि आईआईएस 8 और आईआईएस 8.5 के साथ कोल्डफ्यूजन कनेक्टर में कोई समस्या है।

+0

क्या आप अपने application.log में कुछ भी देख रहे हैं? –

+0

हां मुझे कोल्डफ्यूजन त्रुटि मिल सकती है जिसे मैंने उत्तेजित किया है। कोल्डफ्यूजन सही त्रुटि फेंकता है लेकिन आईआईएस इसे अनदेखा करता है। – android

उत्तर

6

ठीक है, मैं अंततः इसे ठीक करने में सक्षम था।

समस्या

मैं एक ही आईआईएस वेबसाइट के तहत एक स्वयं वर्चुअल निर्देशिका में एकाधिक वेब अनुप्रयोगों प्रत्येक चलाते हैं। यह पता चला कि web.config में existingResponse="PassThrough" जोड़ना केवल आभासी निर्देशिकाओं में आंशिक रूप से काम करता है। उस सेटिंग के बिना मुझे कभी भी कोल्डफ्यूजन त्रुटि नहीं मिलती है और इसके बजाय मैं हमेशा आईआईएस 500 त्रुटि देखता हूं। यदि मैं वर्चुअल निर्देशिका के web.config में existingResponse="PassThrough" जोड़ता हूं, तो ColdFusion त्रुटियां केवल तभी अग्रेषित की जाती हैं जब आप सीधे .cfm स्क्रिप्ट को कॉल किए बिना साइट तक पहुंचें (उदाहरण के लिए: example.com/index.cfm के बजाय example.com/)।

समाधान

समाधान आसान था। मुझे बस रूट आईआईएस वेबसाइट के web.config पर existingResponse="PassThrough" सेटिंग जोड़ना पड़ा और सब कुछ काम कर रहा है।

मुझे लगता है कि यह आईआईएस 8 और 8.5 में एक बग है क्योंकि मैंने अपने आईआईएस 7.5 सर्वर पर दोबारा जांच की है और मुझे रूट वेबसाइट पर संपत्ति जोड़ने की ज़रूरत नहीं है।

+2

हालांकि यह मेरे लिए भी समस्या को हल करने के लिए प्रतीत होता है, लेकिन यह मेरे कस्टम 404 त्रुटि हैंडलर स्क्रिप्ट को प्रभावी ढंग से अक्षम करने का अस्वीकार्य साइड इफेक्ट है जो आईआईएस में /error_404.cfm निष्पादित करने के लिए कॉन्फ़िगर किया गया है –