আইআইএস একটি লক করা বিভাগ সম্পর্কে অভিযোগ করে - এটি কোথায় লক করা আছে তা আমি কীভাবে জানতে পারি?


54

আমার ওয়েব কন্টিগায় এই বিভাগটি রয়েছে:

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

আইআইএস 7 ক্রিয়াকলাপ এবং অ্যাটিয়েন্টিকেশন বিভাগ সম্পর্কে অভিযোগ:

মডিউল অজ্ঞাতপরিচয় মডিউল
বিজ্ঞপ্তি প্রমাণীকরণের দাবি
হ্যান্ডলার স্ট্যাটিকফিল
ত্রুটি কোড 0x80070021
কনফিগার ত্রুটি এই কনফিগারেশন বিভাগটি এই পথে ব্যবহার করা যাবে না। বিভাগটি পিতামাতার স্তরে লক হয়ে গেলে এটি ঘটে। লক করা হয় ডিফল্টরূপে (ওভাররাইডমোডিডফল্ট = "অস্বীকার করুন"), বা ওভাররাইডমোড = "অস্বীকার করুন" বা লিগ্যাসির অনুমতি ওভাররাইড = "মিথ্যা" দিয়ে কোনও অবস্থান ট্যাগ দ্বারা স্পষ্টত সেট করা আছে।

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>

তবুও এটি ফুঁকছে। আমি কেন আশ্চর্য হয়েছি তা নিয়ে হতবাক হয়েছি। আমি এটি ওয়েবকনফিগ থেকে অপসারণ করতে পারি না, আমি মূল সমস্যাটি খুঁজতে চাই।

আইআইএস থেকে নির্দিষ্ট তথ্য পাওয়ার কোনও উপায় কি নিয়মটি অবশেষে আমাকে অস্বীকার করছে?

সম্পাদনা: খুব মূল (আমার মেশিন) এ গিয়ে এবং "কনফিগারেশন সম্পাদনা সম্পাদনা করুন" ক্লিক করে এবং সেখানের বিভাগটি আনলক করে আইআইএস 7 পরিচালনা কনসোলটি ব্যবহার করে আমি এটি ঠিক করতে সক্ষম হয়েছি। তবুও আমি জানতে চাই যে এর চেয়ে আরও ভাল উপায় আছে কি না যেহেতু আমি এটির পরিবর্তিত ফাইলটি খুঁজে পাচ্ছি না।


স্মৃতি থেকে, 500.19 এ সাধারণত একটি বিভাগ রয়েছে যা আপনাকে জানায় যে কোন ফাইলটি কোন অবস্থানে রয়েছে তা নীচে রয়েছে (আমার মনে হয়)
ট্রাইস্তান

1
এটি খুব ভাল উত্তর দেওয়া হয়েছে এসও
পাকোগোমেজ

উত্তর:


78

এই পদক্ষেপগুলি কার্যকর করে যা আমার জন্য সমস্যাটি স্থির করে:

  1. আইআইএস ম্যানেজার খুলুন
  2. বাম দিকে গাছের সার্ভারের নামটিতে ক্লিক করুন
  3. ডান হাতের ফলক, পরিচালনা বিভাগ, ডাবল ক্লিক করুন কনফিগারেশন সম্পাদক
  4. শীর্ষে, বিভাগটি নির্বাচন করুন system.webServer/security/authentication/anonymousAuthentication
  5. ডান হাতের ফলকে, আনলক বিভাগে ক্লিক করুন
  6. শীর্ষে, বিভাগটি নির্বাচন করুন system.webServer/security/authentication/windowsAuthentication
  7. ডান হাতের ফলকে, আনলক বিভাগে ক্লিক করুন

1
এর কি পাওয়ারশেলের সমতুল্য? আমি এটি স্ক্রিপ্ট করতে সক্ষম হতে চাই।
পিট স্টেনসনেস

যদি আপনি এটির সন্ধান পান তবে নির্দ্বিধায় এটি পোস্ট করুন :)
pm

আমি করব, আমি আশা করছিলাম যে অন্য কেউ ইতিমধ্যে কীভাবে জানত।
পিট স্টেনসনেস

1
@ পিটসটেনস এটি রয়েছে! >%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/security/authentication/windowsAuthentication
জোআকার

14

এটি আমার ত্রুটিটি উইন্ডোজ সার্ভার 2012, আইআইএস 8.5 এ সমাধান করেছে। অন্যান্য সংস্করণগুলির জন্যও কাজ করা উচিত।

  1. সার্ভার ম্যানেজারে যান , ভূমিকা এবং বৈশিষ্ট্যগুলি যুক্ত করুন ক্লিক করুন
  2. ভূমিকা বিভাগে চয়ন করুন: ওয়েব সার্ভার
  3. সুরক্ষা উপ-বিভাগের অধীনে সমস্ত কিছু চয়ন করুন (আমি ডাইজেস্ট, আইপি নিষেধাজ্ঞাগুলি এবং ইউআরএল অনুমোদন বাদ দিয়েছি কারণ আমরা সেগুলি ব্যবহার করি না)
  4. অ্যাপ্লিকেশন ডেভলপমেন্টের অধীনে ISAPI উভয়ই নির্বাচন করুন .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

5

কনফিগারেশন লকিং এখানে ঘটতে পারে:

  1. অ্যাপ্লিকেশনহোস্ট.কনফিগ (কনফিগার স্ট্রিং: মেশিন / ওয়েব্রুট / অ্যাপোস্ট)

  2. একটি সাইট ওয়েব কনফিগ ফাইল (মেশিন / ওয়েব্রুট / অ্যাপোস্ট / ওয়েব সাইটের নাম)

  3. যে কোনও অ্যাপ্লিকেশন ওয়েবকনফাইগ ফাইল যা (মেশিন / ওয়েব্রুট / অ্যাপোস্ট / সাইটের নাম / অ্যাপের নাম)

একটি বিভাগ লক করা (বিভাগ: আইআইএস কনফিগারেশন বিভাগ, উদাহরণস্বরূপ <asp>) আপনাকে সেই স্তরগুলি আপনার থেকে নিম্ন স্তরের স্তরের স্তরে কনফিগার করার ক্ষমতা অস্বীকার করতে দেয়।

জিইউআইয়ের ফিচার ডেলিগেশন জিনিসটি ব্যবহার করা ভুল নয়, এবং কভারের আওতায় অ্যাপসিএমডি যা করে তার সাথে খুব একই রকম কাজ করে - আপনি যে কনফিগারটির উপর যে স্তরটি ফোকাস করছেন তা কোনও <location>ট্যাগের জন্য একটি প্রদত্ত বিভাগের জন্য ওভাররাইডমোড সেট করে।

এপিসিএমডি ফাইলগুলি আনলক করতে ব্যবহার করা যেতে পারে তবে এটি যেখানে এটি বলছে সেখানে মনোযোগ দিন - এটি জিওআইয়ের মতো স্মার্ট নয়।

যোগ করার পদ্ধতি -commit:apphostআপনার শেষে APPCMD UNLOCKকমান্ড লক্ষ্যমাত্রা Applicationhost.config, যা আইআইএস অপারেশন জন্য কী ফাইল (আগের ভার্সন থেকে metabase প্রতিস্থাপন; দোকানে সব কেন্দ্রীভূত সেটিংস কিন্তু web.config ফাইলে ওভাররাইড পারবেন (যদি আপনি না))।

-কমিট: অ্যাপহোস্ট ব্যতীত, অ্যাপিসিএমএমডি একটি ওয়েবকনফিগ ফাইলের জন্য নিকটতম লজিক্যাল স্পটকে লক্ষ্য করবে - সাইট বা অ্যাপ স্তরের, এবং এটি উপরের সেটটির মতো কনফিগারেশন স্ট্রিং ব্যবহার করে সেটিংস পরিবর্তন করেছে indicate (একদিকে: আপনি এখনও সাব ওয়েবসাইটগুলিতে কেবল সেটিংসকে লক্ষ্য করতে পারেন, তবে অ্যাপোস্টে প্রতিশ্রুতিবদ্ধ - এটি সম্পাদন করতে লোকেশন ট্যাগগুলি ব্যবহার করে)

সুতরাং যদি এটি (মেমরি প্যারাফ্রেজ) বলে থাকে "" MACHINE / WEBROOT / APPHOST এর প্রতিশ্রুতিবদ্ধ পরিবর্তনগুলি ", এর অর্থ আইআইএস স্তরক্রমের শীর্ষ স্তর।

যদি এটি "MACHINE / WEBROOT / APPHOST / Dodgy ওয়েব সাইটের প্রতিশ্রুতিবদ্ধ" বলে থাকে, এর অর্থ এটি ডজি ওয়েব সাইটের পিছনে শারীরিক পথটি অনুসন্ধান করেছে এবং সেই জায়গায় একটি ওয়েবকনফিগ ফাইল (বা এটি আপডেট করেছে) লিখেছিল।


3

আপনি যদি আইআইএসই এক্সপ্রেস এবং ভিজ্যুয়াল স্টুডিও 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

আপনার অ্যাপ্লিকেশন পুলটিতে চেষ্টা করুন, 32-বিট অ্যাপ্লিকেশন সমর্থন আইআইএস ম্যানেজার -> অ্যাপ্লিকেশন পুলগুলি অক্ষম করুন -> [আপনার অ্যাপপুল] -> উন্নত সেটিংস নির্বাচন করুন -> 32-বিট অ্যাপ্লিকেশন সক্ষম করুন - এটিকে 'মিথ্যা' তে পরিবর্তন করুন


-2

কটাক্ষপাত আইআইএস - এই কনফিগারেশন অধ্যায় এই পথ এ ব্যবহার করা যাবে না (কনফিগারেশন লকিং?)

গৃহীত উত্তরটি উইন্ডোজ 10 এ আমার জন্য পুরোপুরি কাজ করেছে, এটি নিম্নলিখিতটি করার নির্দেশ দেয়:

  • "স্টার্ট বোতাম" ক্লিক করুন
  • অনুসন্ধান বাক্সে, "উইন্ডোজ বৈশিষ্ট্যগুলি চালু বা বন্ধ করুন" লিখুন
  • বৈশিষ্ট্য উইন্ডোতে, ক্লিক করুন: "ইন্টারনেট তথ্য পরিষেবা"
  • ক্লিক করুন: "ওয়ার্ল্ড ওয়াইড ওয়েব পরিষেবাদি"
  • ক্লিক করুন: "অ্যাপ্লিকেশন বিকাশ বৈশিষ্ট্য"
  • বৈশিষ্ট্যগুলি পরীক্ষা করুন (সক্ষম করুন)। আমি সিজিআই ছাড়া সব চেক করেছিলাম।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.