iis - कॉन्फ़िगर त्रुटि:इस कॉन्फ़िगरेशन अनुभाग का उपयोग इस पथ पर नहीं किया जा सकता है




iis-7 iis-8.5 iis-10 (25)

मुझे किसी सर्वर पर किसी साइट पर तैनाती में त्रुटि आई है। होम पेज लोड करने का प्रयास करते समय, या आईआईएस में नई साइट पर प्रमाणीकरण तक पहुंचने पर, मुझे त्रुटि मिलती है:

कॉन्फ़िगर त्रुटि: इस कॉन्फ़िगरेशन अनुभाग का उपयोग इस पथ पर नहीं किया जा सकता है। यह तब होता है जब अनुभाग अभिभावक स्तर पर बंद हो जाता है। लॉकिंग या तो डिफ़ॉल्ट रूप से है (overrideModeDefault = "Deny"), या ओवरराइड मोड = "अस्वीकार करें" या विरासत अनुमतिऑवर्राइड = "झूठी" के साथ एक स्थान टैग द्वारा स्पष्ट रूप से सेट करें।

यहां अधिक जानकारी मिल सकती है, परिदृश्य 7 में मेरे हेक्स त्रुटि कोड से मेल खाता है।

उपरोक्त लिंक की गई साइट पर दिए गए समाधान को myHide.config फ़ाइल में, मेरी त्रुटि में उल्लिखित अनुभाग में ओवरराइडमोडडिफॉल्ट के लिए अनुमति सेट करना है। मेरे मामले में, system.web सर्वर में सुरक्षा के तहत। लेकिन अगर मैं अपने स्थानीय कंप्यूटर पर applicationHost.config को देखता हूं, जहां साइट पहले से ही ठीक से तैनात है, तो वह खंड अस्वीकार करने के लिए सेट है।

यदि यह समाधान सही है, तो मेरा स्थानीय उदाहरण उसी वेब.कॉन्फिग के साथ ठीक कैसे चल रहा है? मेरे applicationHost.config के अनुसार, वह खंड लॉक होना चाहिए, लेकिन ऐसा नहीं है। मैं applicationHost.config फ़ाइल को नहीं बदलना चाहता, क्योंकि उस सर्वर पर चल रही कई अन्य साइटें हैं। क्या कोई और समाधान है?


Answers

एप्लिकेशन लेवल में बदलाव करने के लिए (Web.Config):

कृपया web.config से ट्रस्ट स्तर को हटा दें:

असल में मुझे यह त्रुटि मिल रही थी जब मैं होस्टिंग सर्वर पर अपनी वेबसाइट होस्ट करने का प्रयास कर रहा था, जहां मेरे सर्वर पर नियंत्रण नहीं है। मेरे आवेदन web.config से उपर्युक्त रेखा को हटाने से मेरी समस्या हल हो गई।


इस तरह के मुद्दे के जवाब के अनुसार;

सर्वर स्तर पर प्रासंगिक आईआईएस कॉन्फ़िगरेशन सेटिंग्स को अनलॉक करने का प्रयास करें, निम्नानुसार:

  1. ओआईएस प्रबंधक खोलें
  2. कनेक्शन फलक में सर्वर का चयन करें
  3. मुख्य फलक में कॉन्फ़िगरेशन संपादक खोलें
  4. अनुभाग ड्रॉप डाउन में, अनलॉक करने के लिए अनुभाग का चयन करें, उदाहरण के लिए system.webServer> defaultPath
  5. दाएं फलक में विशेषता अनलॉक पर क्लिक करें
  6. अनलॉक करने के लिए आपको आवश्यक किसी भी अन्य सेटिंग्स के लिए दोहराएं
  7. IIS को पुनरारंभ करें (वैकल्पिक) - Conncetions फलक में सर्वर का चयन करें, क्रिया फलक में पुनरारंभ करें क्लिक करें

विंडोज सर्वर 2008 और आईआईएस 7 के लिए, प्रक्रिया समान है। कृपया इसे देखें: http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx

भूमिका निभाने में, आपको "एप्लिकेशन डेवलपमेंट फीचर्स" दिखाई देगा

सुविधाओं को जांचें (सक्षम करें)। मैंने सभी की जांच की।


मुझे एक मुद्दा था जहां मैं ओवरराइड = "अनुमति दें" मान डाल रहा था (यहां पहले से उल्लिखित) ...... लेकिन एक x64 बिट सिस्टम पर ....... मेरा 32 नोटपैड ++ प्रेत उन्हें बचा रहा था। नोटपैड पर स्विच करना (जो x64 बिट ओ / एस पर 64 बिट अनुप्रयोग है) ने मुझे सेटिंग्स को सहेजने की अनुमति दी।

देख :

http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/

प्रासंगिक पाठ:

जिन समस्याओं को मैं नीचे चला रहा हूं उनमें से एक की आवश्यकता है कि मैं एप्लिकेशनहोस्ट.कॉन्फिग को देख और संभवतः संपादित कर सकता हूं। यह फ़ाइल% SystemRoot% \ System32 \ inetsrv \ config पर स्थित है। काफी सरल लगता है। मैं आसानी से कमांड लाइन से इसे ढूंढने में सक्षम था, लेकिन जब मैं इसे अपने पसंदीदा संपादक (नोटपैड ++) में लोड करने के लिए गया तो मुझे एक फ़ाइल मिली त्रुटि नहीं मिली। यह पता चला है कि System32 फ़ोल्डर को 32-बिट अनुप्रयोगों के लिए SysWOW64 पर रीडायरेक्ट किया गया है। 32-बिट ऐप का उपयोग कर System32 फ़ोल्डर को देखने का कोई तरीका नहीं प्रतीत होता है। जाओ पता लगाओ। सौभाग्य से, नोटपैड के 64-बिट संस्करण के साथ विंडोज जहाज के 64-बिट संस्करण। जितना मैं इसे नापसंद करता हूं, कम से कम यह काम करता है।


आईआईएस 8 के साथ विंडोज सर्वर 2012 पर मैंने एएसपी.NET 4.5 सुविधा सक्षम करके इसे हल किया है:

और फिर केन के जवाब के बाद ।


मेरे मामले में, यह कुछ और था।

जब मैंने विजुअल स्टूडियो के एक नए संस्करण में समाधान लोड किया, तो वीएस ने स्पष्ट रूप से एक नई परियोजना-विशिष्ट applicationhost.config फ़ाइल बनाई:

MySolutionDir \ .vs \ config \ ApplicationHost.config

यह मेरी पहले से ही अनुकूलित वैश्विक आईआईएस एक्सप्रेस सेटिंग्स की बजाय, नई कॉन्फ़िगरेशन से सेटिंग्स का उपयोग शुरू कर दिया। (\ Users \% USER% \ दस्तावेज़ \ IISExpress \ config \ ApplicationHost.config)

मेरे मामले में यह सेटिंग थी जिसे सेट करने की आवश्यकता थी। बेशक यह आपके लिए कुछ और हो सकता है:

<section name="ipSecurity" overrideModeDefault="Allow" />

आईआईएस 8 विंडोज सर्वर 2012 आर 2 के लिए यह मेरे लिए चाल थी

"सुविधाओं को चालू करें" पर जाएं

फिर सभी डिफ़ॉल्ट सेटिंग, अगला, अगला, अगला आदि पर जाएं ..

फिर, नीचे दिखाए गए अनुसार चुनें,

फिर आईआईएस (वैकल्पिक) को रीसेट करें लेकिन इसे सुरक्षित पक्ष करें।

यह एक अतिरिक्त समाधान है क्योंकि इसकी सामान्य समस्या हर किसी के पास समस्या से अलग है और इस प्रकार अलग-अलग समाधान है। चीयर्स!


मैंने इस मुद्दे को हल किया

cmd पर जाएं और aspnet_regiis -i निष्पादित करें

उम्मीद है कि यह किसी के लिए सहायक होगा।


आप उन सेटिंग्स को संपादित करने के लिए आईआईएस प्रबंधक का भी उपयोग कर सकते हैं।

आईआईएस लेख सीखें इसकी देखभाल:

आईआईएस की जड़ से फ़ीचर प्रतिनिधिमंडल का उपयोग करना:

फिर आप मशीन-स्तरीय पढ़ने / लिखने की अनुमतियों में से प्रत्येक को नियंत्रित कर सकते हैं, जो आपको अन्यथा ओवरराइड मोड = "अस्वीकार" त्रुटियों को देगा।


आईआईएस 8 पर हमारे मामले में हमने पाया कि प्रमाणीकरण देखने का प्रयास करते समय त्रुटि उत्पन्न हुई थी "साइट के लिए, कब:

  1. सर्वर फ़ीचर प्रतिनिधिमंडल को "प्रमाणीकरण - विंडोज" = "केवल पढ़ने" के रूप में चिह्नित किया गया है
  2. साइट पर एक web.config था जो स्पष्ट रूप से विंडोज प्रमाणीकरण का संदर्भ देता था; जैसे,

साइट फ़ीचर प्रतिनिधिमंडल को चिह्नित करना "प्रमाणीकरण - विंडोज़" = "पढ़ें / लिखें", त्रुटि चली गई। ऐसा प्रतीत होता है कि, "केवल पढ़ने के लिए चिह्नित" विशेषता के साथ, web.config को इसे अक्षम करने के लिए इसे संदर्भित करने की अनुमति नहीं है, क्योंकि यह स्पष्ट रूप से एक लेखन का गठन करता है।


निम्नलिखित मेरे लिए काम किया:

परियोजना गुणों पर जाएं। वेब टैब स्थानीय आईआईएस पर सेट करें और विशिष्ट पेज सेट करें।

मेरे पास विंडोज 7 और विजुअल स्टूडियो 2013 है।


ऐसा लगता है कि आईआईएस एक्सप्रेस और वीएस 2015 के साथ, applicationHost.config फ़ाइल की एक प्रति $ (solutionDir) .vs \ config \ applicationhost.config पर है, इसलिए आपको वहां परिवर्तन करने की आवश्यकता होगी। यह लिंक देखें: http://digitaldrummerj.me/iis-express-windows-authentication/

सुनिश्चित करें कि ये पंक्तियां नीचे प्रतिस्थापित हैं:

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

Custom Site Delegation से Application Settings को बदलने का सबसे अच्छा विकल्प है
IIS खोलें और रूट से Feature Delegation का चयन करें और फिर Application Settings चयन करें और दाएं साइडबार से Read/Write


"सी: \ विंडोज \ System32 \ inetsrv \ config" पर ब्राउज़ करें (आपको यहां व्यवस्थापकीय अधिकारों की आवश्यकता होगी) ओपन applicationHost.config

नोट : IISExpress और विजुअल स्टूडियो 2015 में applicationHost.config $(solutionDir).vs\config\applicationhost.config में संग्रहीत है

त्रुटि संदेश पृष्ठ के "कॉन्फ़िगरेशन स्रोत" भाग में दिखाया गया अनुभाग खोजें। मेरे लिए यह आमतौर पर "मॉड्यूल" या "हैंडलर" रहा है

Allow देने के लिए overrideModeDefault विशेषता बदलें

तो पूरी लाइन अब इस तरह दिखती है:

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

फ़ाइल को सहेजने के बाद, पृष्ठ मेरे ब्राउज़र में ठीक हो गया।

चेतावनी: 64-बिट विंडोज़ पर applicationHost.config संपादित करना


मेरे मामले में मुझे ब्राउज़िंग के अलावा आईआईएस में प्रमाणीकरण सेटिंग्स को अपडेट करने का प्रयास करते समय यह त्रुटि मिल रही थी। मैं web.config से प्रमाणीकरण सेटिंग को हटाकर इस त्रुटि को हटाने में सक्षम था। एक समस्याग्रस्त विन्यास खंड को हटाने से सर्वर की भूमिकाओं और सुविधाओं को बदलने से कुछ मामलों में कम आक्रामक और बेहतर हो सकता है:

अनुभाग हटाया गया:

    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>

Vista होम प्रीमियम पर आईआईएस 7 स्थापित करने के बाद यह वही समस्या प्राप्त हुई। त्रुटि को सही करने के लिए मैंने Windows \ system32 \ inetsrv में स्थित ApplicationHost.config फ़ाइल में स्थित निम्न मानों को बदल दिया।

सेक्शन में स्थित सभी निम्न मानों को बदलें ->

<div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
<div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>

विन 10 के लिए (शायद अन्य विंडोज संस्करणों पर भी काम करेगा।)

1. ओपन " विंडो सुविधाओं को चालू या बंद करें " द्वारा: WinKey + R => "वैकल्पिक विशेषताएं" => ठीक है

  1. " अनुप्रयोग विकास सुविधाएं" के अंतर्गत उन सुविधाओं को सक्षम करें


मेरी भी यही समस्या थी।

  • एप्लिकेशन सर्वर सुविधा सक्षम करके इसे हल किया गया। इसके बाद iis पुनरारंभ किया।

जब मुझे यह अच्छा संदेश मिला तो मुझे एक सबफ़ोल्डर पर एसएसएल सेटिंग्स बदलने की जरूरत थी। मेरे मामले में निम्नलिखित कार्रवाई ने मेरी मदद की।

खोला गया सी: \ विंडोज \ System32 \ inetsrv \ config \ applicationHost.config

और overrideModeDefault = "अस्वीकार" से "अनुमति दें" से मान बदल दिया

<sectionGroup name="system.webServer">
 ...
    <sectionGroup name="security">
        <section name="access" overrideModeDefault="Allow" />
    </sectionGroup>

मुझे भी यही समस्या थी। याद रखें कि मुझे इसे वेब पर कहां मिला, लेकिन यहां मैंने जो किया है:

  • "स्टार्ट बटन" पर क्लिक करें
  • खोज बॉक्स में, "विंडो सुविधाओं को चालू या बंद करें" दर्ज करें
  • फीचर्स विंडो में, क्लिक करें: "इंटरनेट इनफॉर्मेशन सर्विसेज"
  • क्लिक करें: "वर्ल्ड वाइड वेब सर्विसेज"
  • क्लिक करें: "अनुप्रयोग विकास सुविधाएं"
  • सुविधाओं को जांचें (सक्षम करें)। मैंने सीजीआई के अलावा सभी की जांच की।

बीटीडब्ल्यू, मैं विंडोज 7 का उपयोग कर रहा हूँ।


मेरे मामले में, मुझे यह त्रुटि मिली क्योंकि मैं गलत कॉन्फ़िगरेशन फ़ाइल पर काम कर रहा था।

मैं यह कर रहा था:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

सही कोड के बजाय:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

दूसरे शब्दों में, मैं वैश्विक फ़ाइल सी: \ विंडोज \ System32 \ inetsrv \ config \ applicationHost.config के बजाय वेबसाइट के web.config पर काम करने की कोशिश कर रहा था, जिसमें वेबसाइट के लिए एक सेक्शन (या एक सेक्शन हो सकता है) है। जिस सेटिंग को मैं बदलने की कोशिश कर रहा था वह केवल ApplicationHost.config फ़ाइल में मौजूद है।


सुविधाओं को सक्षम करने का पावरहेल तरीका (विंडोज सर्वर 2012 +) - आवश्यकतानुसार ट्रिम करें:

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature

मुझे इन दो आदेशों को चलाने और उन्नत कमांड प्रॉम्प्ट चलाने की आवश्यकता थी:

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication

मेरे मामले में यह था कि सर्वर पर .NET Framework सुविधाओं के तहत "HTTP सक्रियण" सक्षम नहीं किया गया था। तो विंडोज सर्वर 2012 के लिए जो समाधान मेरे लिए काम करता था वह था:

सर्वर प्रबंधक -> भूमिकाएं और विशेषताओं को जोड़ें -> विशेषताएं -> सुनिश्चित करें कि संस्करण के .NET Framework के तहत आप उपयोग करना चाहते हैं "HTTP सक्रियण"


उपर्युक्त टिप्पणियों के मुताबिक, आपको आईआईएस को पुनरारंभ करना होगा।







iis iis-7 iis-8.5 iis-10