Помилка HTTP 403.14 - Заборонено - Веб-сервер налаштований не перераховувати вміст цього каталогу


146

Щойно я створив новий порожній веб-сайт у Visual Studio 2012 і натиснув на запуск (тобто перегляд у браузері), і я отримую цю помилку:

Помилка HTTP 403.14 - Заборонено Веб-сервер налаштований не перераховувати вміст цього каталогу.

Я зайшов у IIS і натиснув на перегляд каталогів, а потім переконався, що перегляд каталогів увімкнено, але я все одно отримую цю помилку. Я не можу це зрозуміти?

Щойно створений нами проект веб-сайтів не вказаний у веб-сайтах за замовчуванням у менеджері IIS, що, на мою думку, було дивним.

Як я можу позбутися цієї помилки?


Чи налаштований проект для використання IIS? Або IIS Express? Або Казіні?
Кріс Вандермоттен

Ви запускали чи переглядали в браузері ? 2 різні речі. Якщо це проект MVC, то, можливо, ви спробували переглянути viewв браузері?
christiandev

Переконайтеся, що ви ввімкнули ASP.NET 4.5 або ASP.NET з Панелі управління \ Усі елементи Панелі управління \ Програми та функції \ Увімкнення та вимкнення функцій Windows \ Інтернет-інформаційні послуги \ Всесвітні веб-сервіси \ Особливості розробки програм \ ASP.NET 4.5 або ASP.NET 3.5 залежно від налаштувань пулу програм.
Бімал Дас

Відповіді:


142

збережіть це у вашому веб-конфігураційному файлі, а потім перейменуйте на add value = "yourwebformname.aspx"

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

ще

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

1
Я працював над цим проектом місяцями - ніколи не знадобився цей напрямок. Я опублікував сайт сьогодні, і він більше не працюватиме у налагодженні !!! Доданий цей рядок змушує його працювати знову! Я перевірив SVN - безумовно, він ніколи раніше не потребував. WTF !? Спасибі все одно, витратили лише годину :)
Персі

я отримую помилку HTTP 500.22 - внутрішня помилка сервера.
Брайан Лабушань

40

Ця проблема виникає через те, що на веб-сайті немає Directory Browsingвключеної функції, а документ за замовчуванням не налаштований. Щоб вирішити цю проблему, скористайтеся одним із наведених нижче способів. Щоб вирішити цю проблему, я дотримувався кроків у Способі 1, як зазначено на сторінці підтримки MS та його рекомендованому способі.

Спосіб 1: Увімкніть функцію перегляду каталогів у IIS (рекомендується)

  1. Запустіть IIS Manager. Для цього натисніть кнопку Пуск, виберіть команду Виконати, введіть inetmgr.exe і натисніть кнопку ОК.

  2. У IIS Manager розгорніть ім’я сервера, розгорніть веб-сайти та натисніть веб-сайт, який ви хочете змінити.

  3. У вікні "Особливості" двічі клацніть перегляд каталогів.

  4. На панелі "Дії" натисніть Увімкнути.

Якщо це не спрацьовує, у вас може виникнути інша проблема, ніж лише проблема з переліком каталогу. Тому виконайте наступний крок,

Спосіб 2. Додайте документ за замовчуванням

Щоб вирішити цю проблему, виконайте наступні дії:

  • Запустіть IIS Manager. Для цього натисніть кнопку Пуск, виберіть команду Виконати, введіть inetmgr.exe і натисніть кнопку ОК.
  • У IIS Manager розгорніть ім’я сервера, розгорніть веб-сайти та натисніть веб-сайт, який ви хочете змінити.
  • У вікні "Особливості" двічі клацніть документ за замовчуванням.
  • На панелі "Дії" натисніть Увімкнути.
  • У полі Ім'я файлу введіть назву документа за замовчуванням та натисніть кнопку ОК.

Спосіб 3: Увімкніть функцію перегляду каталогів у IIS Express

Примітка Цей метод призначений для веб-розробників, які відчувають проблему під час використання IIS Express.

Виконайте такі дії:

  • Відкрийте командний рядок і перейдіть до папки IIS Express на вашому комп’ютері. Наприклад, у командному рядку перейдіть до наступної папки: C:\Program Files\IIS Express

  • Введіть таку команду та натисніть клавішу Enter:

    appcmd set config /section:system.webServer/directoryBrowse /enabled:true


На це слід прийняти відповідь. Метод 2 працював на мене. Спочатку я створив порожній веб-сайт, а потім додав веб-форму під назвою "WebForm1.aspx". Тому мені потрібно додати це ім’я до списку документів за замовчуванням. Дякую.
Новато

31

Перейдіть до cmd і введіть це:

для ОС x64:% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

для ОС x32:% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

Це встановить правильну версію, і IIS зрозуміє перегляд каталогів MVC


% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -і це працювало для мене для моєї 64-
бітової

Команда для x64 також працювала над тим, щоб вирішити цю проблему, що виникла у моїй веб-службі asmx
Cavid

24

Причин для цього може бути кілька. Один із мене працював на IIS 8.5:

Кроки

  1. Введіть увімкнено або вимкнено "включення чи вимкнення функцій Windows".
  2. Натисніть "Додати ролі та функції" в Менеджері серверів.
  3. У Майстрі прокрутіть униз до веб-сервера та виберіть: Веб-сервер -> Розробка додатків. Виберіть у списку всіх, крім CGI, як показано на знімку екрана

введіть тут опис зображення

  1. Нарешті натисніть на наступний і встановіть.
  2. Перезапустіть IIS

Ваш веб-сайт може почати працювати.


18

Встановити стартову сторінку.

Коли у мене виникла ця проблема, я зайшов у провідник рішень, знайшов сторінку, яку я хотів побачити спочатку (у моєму випадку "Home.aspx), клацнув правою кнопкою миші та вибрав" Встановити як початкову сторінку ". Це вирішило мою проблему (яка звучало дуже схоже на ваше) Це було у Visual Studio 2012 Professional, і я запустив його у Firefox.


17

Спробуйте додати у web.configфайл такі налаштування .

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

2
Помилка HTTP 500.22 - Внутрішня помилка сервера
Брайан Лабушань

Моя проблема вирішена, додавши цей код у файл webconfig, дякую.
ядавр

17

Я щойно вставив цей фрагмент коду у файл web.config, і помилка була усунена.

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

10

У мене є один швидкий засіб проти цього. Насправді я отримав цю помилку, тому що я не встановив свою веб-сторінку як стартову сторінку. Коли я зробив свою веб-сторінку (html / aspx) як встановлену стартову сторінку, як показано нижче, я помилку виправив.введіть тут опис зображення

Я не знаю, чи допоможе це рішення іншим.


8

Порожній шаблон веб-сайту створює веб-сайт ASP.NET, який включає файл Web.config, але немає інших файлів. Означає, що у вас немає жодної сторінки за замовчуванням, яку потрібно відображати в режимі перегляду чи запуску.

Це повідомлення про помилку просто означає, що ви не налаштували та налаштували документ за замовчуванням належним чином на своєму IIS.

Після налаштування це повідомлення про помилку відійде.


Я додав головну сторінку на порожній веб-сайт, і коли я натиснув, запустіть без коду, я все-таки отримав помилку. Я не впевнений, що мені потрібно зробити, щоб запустити його?
Айндріу

чи є у вас сторінка за замовчуванням на вашому веб-сайті, якщо не, тоді створіть і встановіть сторінку за замовчуванням, як показано в цьому посиланні iis.net/learn/web-hosting/web-server-for-shared-hosting/…
Sain Pradeep

Ні, у мене не було сторінки за замовчуванням на порожньому веб-сайті. Я приводжу приклад у книзі C #. Я додав сторінку за замовчуванням, і ця сторінка завантажиться у веб-браузер. Але прикладом було лише використання головних сторінок. Я не розумію, чому це не працює. Це дуже простий приклад.
Айндріу

8

На сайті в IIS:

  1. виберіть "Попередні налаштування"
  2. Потім для пулу програм виберіть "ASP.NET v4.0"

зображення, наприклад


2
Це не відповідає на питання ОП. Зміна пулу додатків, який використовується сайтом у IIS, не впливає на те, як сайт налаштований на перелік вмісту каталогів (або не перераховує їх). Це має бути замість конфігурації у файлі web.config.
JNYRanger

8

Панель управління> Увімкнення та вимкнення функцій Windows

Інформаційні послуги в Інтернеті> Послуги всесвітньої веб-служби> Особливості розробки додатків

Увімкніть два варіанти

Розширення .NET 3.5
.ASP.NET 3.5

Під введіть тут опис зображення



5

У моєму випадку я отримав ту саму помилку після створення порожнього проекту Web Api.

Я вирішив це, редагуючи RouteConfig.cs у папці App_Start :)

Я замінив рядок зчитування коду: -

defaults: new { action = "Index", id = UrlParameter.Optional }

із наступним: -

defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }

Зауважте, що я просто повинен був вказати контролер, чию індексну дію я хотів би спочатку викликати.

Ну всі вищезазначені відповіді не вирішили мою справу (як я хотів), наприклад

  • Увімкнення перегляду каталогів із web.config щойно перераховувало всі файли та папки в моєму проекті так само, як це робилося в PHP, коли у вас немає файлу індексу
  • Налаштування defaultDocument також не працювало для мене. Якось все-таки отримав помилку HTTP 403.14 (все ще не маю поняття, чому)

Якщо може бути хтось із подібних обставин, як у мене, то спробуйте.


Це була більша частина потрібної мені відповіді. Однак ім'я контролера має відповідати тому, що було створено для імені контролера програми MVC (якщо ви називаєте свій контролер IndexController, то воно буде спрацьовувати) - тому ім'я дії за замовчуванням на контролері повинно бути індексом, а потім все з’єднується разом - пропозиції використовувати перегляд каталогів НЕ НАЙКРАЩА ідея, на мою думку, оскільки це дозволяє будь-якому користувачеві переглядати вміст вашого сайту в повному обсязі.
Марк В. Мітчелл

4

Я отримував цю помилку і змінив проблему трубопроводу, керованого додатком, на режим "Комплексний", вирішує проблему.

Джерело: Запуск .NET 4.6 MVC-програми на IIS 8.5 (Windows Server 2012)


Цей пост насправді не відповідає на це запитання, оскільки це щось подібне до навпаки.
rickvdbosch

4

У моєму випадку я зіткнувся з цією помилкою, оскільки моїм веб-сайтом був .NET v4, а пул додатків був налаштований на .NET v2.

Подвійне клацання по пулу додатків відкриває спливаюче вікно, де ми можемо вибрати потрібну версію .NET Framework.


4

РОЗВ'ЯЗАНИЙ
Пошук "Windows Feature"при запуску ->
Клацніть "turn features on and off"->
Розгорніть "Internet Information Services"і
Перевірте кожну програму у кожній підпапці та
натисніть "ОК"
Це дозволить усунути всі ваші проблеми. введіть тут опис зображення


3

Я вирішив свою проблему, виконавши наступні кроки =>

  1. Відкрийте менеджер IIS
  2. Клацніть Додаток
  3. Клацніть Перегляд каталогів
  4. Клацніть Відкрити функцію (праворуч ви побачите розділ Дії)
  5. Натисніть Увімкнути

2

Це може бути викликано записом bum applicationhost.config.

Зупиніть IIS Express, якщо він працює (клацніть правою кнопкою миші блакитний значок прокрутки в системному лотку Windows; Вихід).

Зайдіть у Властивості> Веб та перевірте, чи правильна URL-адреса проекту. У випадку URL-адреси https переконайтеся, що він містить номер порту у допустимому діапазоні. Правильною URL-адресою може бути:https://localhost:44300/ . Тепер натисніть кнопку "Створити віртуальний каталог" поруч із URL-адресою. Це додає новий запис до applicationhost.config.

Почніть проект ще раз, і сподіваємось, ви більше не отримаєте помилку.


2

Я впевнений, що через роки у вас, мабуть, вже є відповідь. Але на випадок, якщо хтось інший шукає відповідь у майбутньому.

Для моєї проблеми мені не довелося ні до чого в web.config. Я не думав, що мені знадобиться, як це було раніше.

Переконайтесь, що жодна папка не названа так само, як ваша сторінка, у мене була папка під назвою "блог" і сторінка з назвою "blog.aspx", вона намагалася завантажити папку, я помітив це у посиланні, змінив папку на blogContent , зараз це добре завантажується.

Я публікую копію тут, коли ви перший у пошуковому запиті.


2

Проблема може виникнути через запуск проекту з візуальної студії на IIS, перебуваючи на неправильно відкритій вкладці візуальної студії, тому рішенням є або відкриття правої вкладки (веб-формату, яку ви хочете перевірити у вашому браузері), або як запропоновано в інші відповіді, клацніть правою кнопкою миші на веб-формі, яку ви хочете встановити як домашню сторінку, а потім натисніть «Встановити як початкову сторінку».


1

У моєму випадку я Microsoft.Owin.Host.SystemWebбракував нугета.


1

клацніть правою кнопкою миші на вашому проекті в провіднику рішень, а потім натисніть кнопку Додати новий елемент, додайте HTML-сторінку і назвіть її як index.HTML після того, як перезапустите заявку


1

У моєму випадку

У додатку я встановив версію .NetFrameWork на V4.0 і вирішив проблему ....


1

Ви повинні встановити частину IIS для розробки додатків на свій сервер, як ви бачите на цьому малюнку:введіть тут опис зображення


0

Це може статися з будь-якої кількості причин. Якщо ви перепробували все вищезазначене і все ще отримуєте ту саму помилку, у мене є ще одне рішення.

Ще одна причина, по якій це могло статися, - це те

  1. Якщо перед тим, як почати запускати свіже рішення, у вас працює та сама база коду, ви можете зіткнутися з цією помилкою. Причина полягає в тому, що IIS Express намагається запустити той самий порт, що і для старого рішення, у якого фізична стежка зареєстрована для початкової URL-адреси програми.
  2. Оскільки IIS не може з'ясувати фізичний шлях для запуску рішення, він не зможе знайти всі місця, необхідні для запуску програми.

Рішення:

  1. Спробуйте змінити порт програми на типовий. Наприклад, використовувати http://localhost/замістьhttp://localhost:25836/

  2. Спробуйте перейти на будь-який інший порт, якщо ви вже використовували порт за замовчуванням для попередньої програми. ex: http://localhost:25364/замістьhttp://localhost/

Це дозволить IIS / IIS Express вказати на шлях за замовчуванням нової програми, яку ви намагаєтеся запустити, яка матиме всі необхідні dll для запуску програми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.