सवाल आईआईएस एक लॉक सेक्शन के बारे में शिकायत करता है - मैं कैसे पता लगा सकता हूं कि यह कहां बंद है?


मेरे पास यह web.config में है:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <security>
        <authentication>
            <anonymousAuthentication enabled="true" />
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
</system.webServer>

आईआईएस 7 दुर्घटनाग्रस्तता के बारे में शिकायत करता है और शिकायत करता है:

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

Config Source  
   69:  <authentication>
   70:    <anonymousAuthentication enabled="true" />

तो इसे हल करने का सामान्य तरीका है %windir%\system32\inetsrv\config\applicationHost.config और खंड अनलॉक करें:

    <sectionGroup name="system.webServer">
        <sectionGroup name="security">
            <section name="access" overrideModeDefault="Deny" />
            <section name="applicationDependencies" overrideModeDefault="Deny" />
            <sectionGroup name="authentication">
                <section name="anonymousAuthentication" overrideModeDefault="Allow" />
                <section name="basicAuthentication" overrideModeDefault="Allow" />
                <section name="clientCertificateMappingAuthentication" overrideModeDefault="Allow" />
                <section name="digestAuthentication" overrideModeDefault="Allow" />
                <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Allow" />
                <section name="windowsAuthentication" overrideModeDefault="Allow" />
            </sectionGroup>

(वैकल्पिक रूप से, appcmd unlock config)।

अजीब बात: मैंने यह किया है और यह अभी भी शिकायत करता है।

मैंने स्थानों की तलाश की (एमवीसी मेरी वेबसाइट का नाम है जो कि मैं उपयोग कर रहा हूं सभी साइटों की जड़ है):

<location path="MVC" overrideMode="Allow">
    <system.webServer overrideMode="Allow">
        <security overrideMode="Allow">
            <authentication overrideMode="Allow">
                <windowsAuthentication enabled="true" />
                <anonymousAuthentication enabled="true" />
            </authentication>
        </security>
    </system.webServer>
</location>

फिर भी यह उड़ाता है। मैं परेशान हूं कि ऐसा क्यों होता है। मैं इसे web.config से नहीं हटा सकता, मैं रूट समस्या को ढूंढना चाहता हूं।

क्या आईआईएस से विशिष्ट जानकारी प्राप्त करने का कोई तरीका है जो अंततः नियम मुझे अस्वीकार कर रहा है?

संपादित करें: मैं बहुत रूट (मेरी मशीन) पर जाकर और "कॉन्फ़िगरेशन संपादित करें" पर क्लिक करके और अनुभाग को अनलॉक करके IIS7 प्रबंधन कंसोल का उपयोग करके इसे ठीक करने में सक्षम था। फिर भी मैं जानना चाहता हूं कि कोई बेहतर तरीका है क्योंकि मुझे वह फ़ाइल नहीं मिल रही है जो वास्तव में संशोधित करती है।


44
2018-02-15 16:48


मूल


स्मृति से, आमतौर पर 500.1 9 में एक अनुभाग होता है जो आपको बताता है कि किस स्थान पर स्थान पर है, नीचे (मुझे लगता है) - TristanK
इसका उत्तर बहुत अच्छा रहा है एसओ पर खत्म - paqogomez


जवाब:


इन चरणों का समाधान किया जो मेरे लिए इस मुद्दे को ठीक करते हैं:

  1. ओआईएस प्रबंधक खोलें
  2. बाईं ओर पेड़ में सर्वर नाम पर क्लिक करें
  3. दायां हाथ फलक, प्रबंधन अनुभाग, डबल कॉन्फ़िगरेशन संपादक क्लिक करें
  4. शीर्ष पर, अनुभाग का चयन करें system.webServer/security/authentication/anonymousAuthentication
  5. दाएं हाथ फलक, खंड अनलॉक क्लिक करें
  6. शीर्ष पर, अनुभाग का चयन करें system.webServer/security/authentication/windowsAuthentication
  7. दाएं हाथ फलक, खंड अनलॉक क्लिक करें

68
2018-06-19 11:40



क्या इसमें पावरशेल बराबर है? मैं इसे स्क्रिप्ट करने में सक्षम होना चाहता हूं। - Pete Stensønes
यदि आपको कोई मिलता है, तो इसे पोस्ट करने में संकोच न करें :) - tomfanning
मैं करूँगा, मैं उम्मीद कर रहा था कि किसी और को पहले से ही पता था कि कैसे। - Pete Stensønes


इसने मेरी त्रुटि हल की विंडोज सर्वर 2012, आईआईएस 8.5। अन्य संस्करणों के लिए भी काम करना चाहिए।

  1. के लिए जाओ सर्वर प्रबंधक, जोड़ें पर क्लिक करें भूमिकाएं और विशेषताएं
  2. भूमिका अनुभाग में चयन करें: वेब सर्वर
  3. के अंतर्गत सुरक्षा सब-सेक्शन सबकुछ चुनें (मैंने डाइजेस्ट, आईपी प्रतिबंध और यूआरएल प्रमाणीकरण को छोड़ दिया है क्योंकि हम उनका उपयोग नहीं करते हैं)
  4. के अंतर्गत एप्लीकेशन का विकास चुनें .NET Extensibility 4.5 तथा ASP>NET 4.5, आईएसएपीआई प्रविष्टियां दोनों
  5. में विशेषताएं अनुभाग का चयन करें: NET 3.5, .NET 4.5, ASP.NET 4.5
  6. में वेब सर्वर अनुभाग का चयन करें: Web Server (all), Management Tools (IIS Management Console and Management Service), Windows 

10
2018-04-25 13:41





कॉन्फ़िगरेशन लॉकिंग यहां हो सकती है:

  1. Applicationhost.config (कॉन्फ़िगरेशन स्ट्रिंग: मशीन / वेबब्रॉट / एपहोस्ट)

  2. एक साइट Web.config फ़ाइल (मशीन / वेबब्रॉट / एपहोस्ट / वेब साइट का नाम)

  3. कोई भी ऐप web.config फ़ाइल (मशीन / वेबब्रॉट / एपहोस्ट / साइट का नाम / ऐप नाम)

एक खंड लॉक करना (खंड: आईआईएस विन्यास खंड, उदाहरण के लिए <asp>) आपको उन सेटिंग्स को आपके द्वारा पदानुक्रम में निचले स्तर पर किसी भी व्यक्ति को कॉन्फ़िगर करने की क्षमता से इनकार करने देता है।

जीयूआई के फीचर डिलीगेशन चीज का उपयोग करना गलत नहीं है, और एपसीएमडी क्या करता है, इसकी एक बहुत ही समान चीज है, कवर के तहत - किसी दिए गए सेक्शन के लिए ओवरराइडमोड सेट करता है <location> जिस भी कॉन्फ़िगरेशन पर आप केंद्रित हैं उस पर टैग करें।

एपीपीसीएमडी का इस्तेमाल फाइलों को अनलॉक करने के लिए किया जा सकता है, लेकिन यह कहां कहता है कि यह कह रहा है - यह इस बारे में जीयूआई जितना स्मार्ट नहीं है।

जोड़ा जा रहा है -commit:apphost आपके अंत में APPCMD UNLOCK कमांड लक्ष्य Applicationhost.config, जो है  आईआईएस ऑपरेशन के लिए मुख्य फ़ाइल (मेटाबेस को पिछले संस्करणों से बदलती है; सभी केंद्रीकृत सेटिंग्स को स्टोर करता है लेकिन web.config फ़ाइलों में ओवरराइड (यदि आप करते हैं) को अनुमति देता है)।

बिना शर्त: एपहोस्ट, एपीपीसीएमडी वेब.कॉन्फिग फ़ाइल के लिए निकटतम लॉजिकल स्पॉट को लक्षित करेगा - चाहे साइट या ऐप स्तर पर हो, और इंगित करें कि यह उपरोक्त सेट की तरह कॉन्फ़िगरेशन स्ट्रिंग का उपयोग करके सेटिंग बदल गया है। (इसके अलावा: आप अभी भी उप-वेब साइटों में सेटिंग्स को लक्षित कर सकते हैं, लेकिन एपहोस्ट को प्रतिबद्ध करते हैं - यह इसे पूरा करने के लिए स्थान टैग का उपयोग करता है)

तो अगर यह कहा गया (स्मृति पैराफ्रेश) "मशीन / वेबब्रॉट / एपहोस्ट के लिए किए गए परिवर्तन", जिसका अर्थ आईआईएस पदानुक्रम का शीर्ष स्तर होगा।

अगर यह "मशीन / वेबब्रॉट / एपहॉस्ट / डोडी वेब साइट" के लिए प्रतिबद्ध है, तो इसका मतलब यह होगा कि उसने डोडी वेब साइट के पीछे भौतिक पथ देखा, और उस स्थान पर एक web.config फ़ाइल (या इसे अपडेट किया) लिखा।


4
2018-02-15 21:11





यदि आप IISExpress और विजुअल स्टूडियो 2015 का उपयोग कर रहे हैं, तो applicationHost.config में संग्रहित है $(solutionDir).vs\config\applicationhost.config (निम क्लाउड के लिए धन्यवाद उत्तर)।

बस बदल दो overrideModeDefault="Allow" जहां भी उपयुक्त हो।

<sectionGroup name="security">
    <section name="access" overrideModeDefault="Deny" />
    <section name="applicationDependencies" overrideModeDefault="Deny" />
    <sectionGroup name="authentication">
        <section name="anonymousAuthentication" overrideModeDefault="Allow" />
etc...

1
2017-08-03 19:20





अपने आवेदटन पूल में आज़माएं, 32-बिट अनुप्रयोगों को अक्षम करें आईआईएस प्रबंधक -> एप्लिकेशन पूल -> चुनें [आपका ऐपपूल] -> उन्नत सेटिंग्स -> 32-बिट अनुप्रयोगों को सक्षम करें - इसे 'गलत' में बदलें


0
2017-12-10 19:40





पर एक नज़र डालें आईआईएस - इस कॉन्फ़िगरेशन सेक्शन का उपयोग इस पथ पर नहीं किया जा सकता है (कॉन्फ़िगरेशन लॉकिंग?)

स्वीकार्य उत्तर विंडोज 10 पर मेरे लिए पूरी तरह से काम करता है, यह निम्नलिखित करने का निर्देश देता है:

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

-2
2018-06-30 17:13