it-swarm.dev

خطأ HTTP 403.14 - محظور تم تكوين خادم الويب لعدم سرد المحتويات

لقد قمت بتنزيل تطبيق ASP.NET لـ MVC Music Store في الموقع C:\Users\DEVESH\Desktop\Projects\MvcMusicStore-v3.0\MvcMusicStore-Completed\MvcMusicStore وأضفت الموقع على IIS في نفس الموقع ، لقد أعطيت أيضًا إذنًا لـ IIS_IUSRS ، لكن عندما أقوم بتشغيل مضيف محلي ، أتلقى الخطأ:

خطأ HTTP 403.14 - محظور تم تكوين خادم الويب لعدم سرد محتويات هذا الدليل.

لقد غوغل ذلك ، ولكن لم يتم العثور على حل. ما أقوم به خطأ؟

36
F11

صادفت هذا الخطأ لأنني قمت بإعداد إصدار .NET خاطئ (الإصدار 2.0 بدلاً من الإصدار 4.0) على تجمع تطبيقات موقع الويب. لقد قمت بإصلاحه بهذه الطريقة على Windows Server 2008 R2 و IIS 7. أنا متأكد من أن التعليمات تنطبق على Windows Server 2012 و IIS 8 أيضًا:

  • اضغط على المفاتيح Windows + R لفتح مربع الحوار "تشغيل" ، اكتب inetmgr و ثم انقر فوق موافق. هذا يفتح IIS Manager.
  • في treeview الأيسر ، حدد موقع مواقع وابحث عن موقع ويب الافتراضي عقدة تحتها (أو اسم الموقع الذي تظهر فيه رسالة الخطأ).
  • انقر بزر الماوس الأيمن فوق العقدة وحدد إدارة موقع الويب -> الإعدادات المتقدمة ... . لاحظ اسم القيمة تجمع التطبيقات . أغلق مربع الحوار هذا.
  • في treeview إلى اليسار ، حدد موقع العقدة وحددها تجمعات التطبيقات .
  • في القائمة الموجودة على اليمين ، حدد موقع تجمع التطبيقات الذي يحمل الاسم نفسه الذي قمت بتدوينه في إعدادات موقع الويب. انقر بزر الماوس الأيمن فوقه وحدد الإعدادات المتقدمة ...
  • تأكد من أن القيمة . NET Framework version هي القيمة v4.0 . انقر فوق [~ # ~] موافق [~ # ~] .

لا ينطبق هذا إذا كنت تدير موقعًا أقدم يجب أن يكون فيه .NET v2.0 ، بالطبع :)

45
Daniel Persson

في حالتي ASP.NET غير مسجل على الخادم. محاولة تنفيذ هذا في موجه الأوامر:

ويندوز 32 بت

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

ويندوز 64 بت

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 
19
Ruslan_K

فقط في حالة ما إذا وصل أي شخص إلى هنا بحثًا عن حل ، فإليك طريقة حلها. بطريق الخطأ ، قمت بحذف جميع الملفات من الخادم الخاص بي (دليل بن) ولكن عندما فقدت جميع الملفات فاتني App_global.asax.dll و App_global.asax.compiled الملفات. لأن هذه الملفات كانت مفقودة IIS كان يعطيني هذا الخطأ

403 - Forbidden: Access is denied.

بمجرد إضافة هذه الملفات ، بدأت تعمل بشكل جيد.

12
ATHER

لقد قمت بحل هذه المشكلة عن طريق تصحيح خطأ في ترتيب ملف Global.asax الخاص بي. لقد نسخت عبر الملفات من مشروع آخر وفشلت في تضمين Global.asax.cs ضمن ملف Global.asax (كان كلا الملفين موجودًا في السابق على نفس المستوى).

Global.asax arrangement

8
Luke Zaparaniuk

لقد واجهت نفسي متشابهة من قبل لسببين ؛ 1. لم يتم تثبيت MVC. 2. وحدة توجيه عنوان url غير مسجلة (هذا يختلف حسب الجهاز في مكان العمل الخاص بي لسبب لا يمكنني شرحه بشكل كامل - إنه غير مسجل دائمًا على مستوى النظام) ، حاول تسجيله في web.config للتطبيق:

<system.web> 
      ... 
      <httpModules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </httpModules>
   </system.web>

تحرير: لقد نسيت إضافة موقع iis 7+:

<system.webServer> 

      <modules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </modules>
</system.webServer>
5
David Bennington

كنت أستخدم تطبيق ASP.NET 4.5 MVC على IIS 7. كان إصلاحي هو ضبط runallmanagedmodule على true.

<system.webServer>
            <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

أو إذا كان لديك وحدات أخرى ، فقد ترغب في إضافتها داخل علامة الوحدة النمطية.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
             <add name="ErrorLogWeb" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
             ...
    </modules>
</system.webServer>

نظرة عامة على وحدات IIS: Microsoft الرسمية IIS الموقع

4
Priyank Agarwal

يمكن أن يحدث هذا الخطأ عندما ، في IIS Manager ، تتم الإشارة إلى موقع ASP.NET MVC إلى الدليل الخاطئ.

في حالتي ، كان عن غير قصد أن يشير الموقع إلى دليل الحلول بدلاً من دليل المشروع الفرعي. أي أنه تم تعيين Physical path للموقع على

C:\dev\MySolution

بدلا من

C:\dev\MySolution\MyProject.

خطوات محددة لإصلاح هذا:

  1. افتح IIS Manager (ابدأ> تشغيل> inetmgr) ؛
  2. في IIS Manager ، في الجزء الأيمن ، قم بتوسيع المواقع ؛
  3. ضمن مواقع ، انقر بزر الماوس الأيمن فوق موقع ASP.NET MVC على الويب ؛
  4. في الجزء الأيسر ، انقر فوق الإعدادات الأساسية ...؛
  5. في مربع الحوار تحرير الموقع ، قم بتغيير Physical path إلى دليل المشروع.
  6. انقر فوق موافق.
3
Jon Schneider

لقد واجهت نفس المشكلة للتو ، ولكن إصلاحي هو أن التوجيه لم يتم تكوينه في ملف Global.asax.cs. أنا أستخدم Bootstrapper و Castle Windsor ، لذا لحل هذه المشكلة أضفت الكود التالي إلى Global.asax.cs:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            Bootstrapper.IncludingOnly.Assembly(Assembly.GetAssembly(typeof(WindsorRegistration)))
                .With
                .Windsor()
                .With
                .StartupTasks()
                .Start();
        }
    }

من الواضح إذا كنت تستخدم MVC الأساسي ، فستحتاج إلى الرجوع إلى ملف RouteConfig في مجلد AppStart بدلاً من ذلك:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
2
John

في حالتي ، كان لدي مشاريع متعددة لكنني لم أعرّف مشروع البدء. لذلك كان هذا الخطأ توليد. بعد تحديد مشروع startUp حل المشكلة.

2
rns

يحدث هذا الخطأ عندما يتعذر على التطبيق بدء التشغيل.
وبالتالي يمكن أن يكون السبب أي شيء يمنع بدء التطبيق الخاص بك.

  • سلسلة اتصال خاطئة
  • خطأ IIS أذونات الدليل
  • تم طرح استثناء في وظيفة Application_Start () الخاصة بك
  • خطأ في تهيئة حاوية IOC
  • أخطاء تسجيل ASP.NET IIS
  • مفقود DLL في مجلد bin الخاص بك
  • إلخ...
2
Hüseyin Yağlı

لقد حدث هذا الخطأ بعد إنشاء تطبيق ASP.Net فارغ في Visual Studio. بمجرد إضافة ملف index.html إلى الحل الرئيسي ، نجح. لذلك في حالتي ، كنت بحاجة فقط لإضافة ملف إلى جذر مجلد المشروع.

1
live-love

إذا كان المشروع عبارة عن مشروع ASP.net MVC ، فسيكون الأمر يتعلق بالتوجيه. في حالتي ، قمت بتغيير قيم التوجيه الافتراضية:

routes.MapRoute(
           "Default",                                              
           "{controller}/{action}/{id}",                           
           new { controller = "Home", action = "Index", id = "" }  
       );

لقد غيرت الكود الخاص بي عن طريق الخطأ إلى:

routes.MapRoute(
               "Default",                                              
               "{controller}/{action}/{JobID}",                           
               new { controller = "Home", action = "Index", id = "" }  
           );

هذا أنا فقط غيرت "معرف" إلى "JobId" ولا يمكن العثور على المسار الافتراضي.

1
Ahmet Arslan

في حالتي: 1. في IIS Manager ، في الشجرة اليسرى ، انقر بزر الماوس الأيسر على اسم الكمبيوتر ، في مربع الحوار الأيمن ، انقر فوق ISAPI و CGT ، في مربع الحوار المفتوح ، حدد ASP.NET v4.0.30319 و حدد تمكين. هناك نوعان من ASP.Net v4.0 ، أحدهما 32 بت ، والآخر 64 بت. حدد اعتمادًا على بت نظام التشغيل الخاص بك 2. في تجمع التطبيقات المختارة على اليسار ، في مربع الحوار الأيمن ، حدد تجمع التطبيقات الذي يستخدمه موقع الويب الخاص بك. انقر نقرًا مزدوجًا فوق ذلك البلياردو ، في مربع الحوار المفتوح ، حدد .net framke item .net framework v.4.0.30319. and pipe..item select integate. ربما يوجد بعض الترجمة الخاطئة أعلاه لأن نظام التشغيل الخاص بي ليس إصدارًا باللغة الإنجليزية.

0
Penny

قام زملائي بإنشاء قاعدة إعادة كتابة URL ، مما أدى إلى تقليل جميع عناوين URL إلى StaticFileHandler ؛ تم تعيينه إلى مسار ملف في جذر المجلد الفعلي للتطبيق الخاص بي.

(أي أن إعادة كتابة عنوان URL المفرط في القوة يعني أن أدوات التحكم/الإجراءات الخاصة بي لا تعمل)

تحقق من قواعد إعادة كتابة عنوان URL للتطبيقات الخاصة بك لتأكيد أنها تفعل ما تتوقعه.

0
The Red Pea

في حال واجه أي شخص هذا لمشروع آخر غير MVC:

كان مشروعي مشروع WCF ، والذي يعمل على إيقاف تشغيل ملفات .svc - لا يوجد مستند افتراضي. نتيجة لذلك ، حصلت على خطأ 403.14 في myhost.com/ ولكن بمجرد إضافة مسار baseAddress من ملف web.config الخاص بي (على سبيل المثال myhost.com/mybaseaddresspath.svc حصلت على صفحة ويب.

0
codeMonkey

تحقق هذا أيضًا:

تحدث هذه المشكلة بسبب عدم تمكين ميزة "استعراض الدليل" على موقع الويب ، ولم يتم تكوين المستند الافتراضي. لحل هذه المشكلة ، استخدم إحدى الطرق التالية:

  • الطريقة الأولى: تمكين ميزة استعراض الدليل في IIS (مستحسن)
  • الطريقة 2: إضافة مستند افتراضي الطريقة
  • الطريقة الثالثة: تمكين ميزة استعراض الدليل في IIS Express

LINK: https://support.Microsoft.com/en-us/kb/942062

0
Bino Kochumol Varghese

IUSR permissions الاستخدام على مجلد إن لم يكن ضمن inetpub/wwwroot سيكون حلاً للبعض.

0
Tom Stickel

في حالتي ، لم يتم إنشاء ملف index.aspx افتراضيًا وبعد إضافة نموذج ويب آخر ، لم أقم بتعيين النموذج كصفحة البداية ... بعد تعيين الصفحة كصفحة البداية ، يتم حل مشكلتي. انقر بزر الماوس الأيمن فوق نموذج ويب وقم بتعيين النموذج كصفحة البداية :)

0
AtiKa Bhatti

في حالتي ، اضطررت إلى تعطيل "استبعاد الملفات من مجلد App_Data" في ملفي الشخصي للنشر لنشر مجلد App_Data مع مستند XML الخاص بي (XmlDocument.xml). التي تخلصت من 403.14.

0
Sujay Paranjape