Błąd HTTP 403.14 - Dostęp zabroniony - serwer sieci Web jest skonfigurowany tak, aby nie wyświetlał zawartości tego katalogu


146

Właśnie utworzyłem nową pustą witrynę internetową w programie Visual Studio 2012 i kliknąłem uruchom (tj. Wyświetl w przeglądarce) i otrzymuję ten błąd:

Błąd HTTP 403.14 - Dostęp zabroniony Serwer sieci Web jest skonfigurowany tak, aby nie wyświetlał zawartości tego katalogu.

Wszedłem do IIS i kliknąłem Przeglądanie katalogów, a następnie upewniłem się, że przeglądanie katalogów jest włączone, ale nadal pojawia się ten błąd. Nie mogę tego rozgryźć?

Projekt witryny sieci Web, który właśnie utworzyłem, nie znajduje się na liście Domyślne witryny sieci Web w Menedżerze usług IIS, co wydawało mi się dziwne.

Jak pozbyć się tego błędu?


Czy projekt jest skonfigurowany do korzystania z usług IIS? Lub IIS Express? Albo Casini?
Kris Vandermotten

Czy uruchomiłeś lub przeglądałeś w przeglądarce ? 2 różne rzeczy. Jeśli jest to projekt MVC, być może próbowałeś wyświetlić plik vieww przeglądarce?
christiandev

Upewnij się, że masz włączone ASP.NET 4.5 lub ASP.NET z Control Panel \ All Items Panel sterowania \ Programy i funkcje systemu Windows \ Włącz lub wyłącz funkcje \ Internet Information Services \ World Wide Web Services \ Application Developement Features \ ASP.NET 4.5 lub ASP.NET 3.5 w zależności od ustawień puli aplikacji.
Bimal Das

Odpowiedzi:


142

zachowaj to w swoim internetowym pliku konfiguracyjnym, a następnie zmień nazwę dodanej wartości = "twoja_nazwa_formatu.aspx"

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

jeszcze

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

1
Pracuję nad tym projektem od miesięcy - nigdy nie potrzebowałem tej linii. Opublikowałem witrynę dzisiaj i nie będzie już działać w debugowaniu !!! Dodanie tej linii sprawia, że ​​znowu działa! Sprawdziłem SVN - zdecydowanie nigdy wcześniej go nie potrzebowałem. WTF !? W każdym razie dzięki, zmarnowałem tylko godzinę :)
Percy,

Otrzymuję błąd HTTP 500.22 - wewnętrzny błąd serwera.
Bryan Labuschagne

40

Ten problem występuje, ponieważ witryna sieci Web nie ma Directory Browsingwłączonej funkcji, a dokument domyślny nie jest skonfigurowany. Aby rozwiązać ten problem, użyj jednej z następujących metod. Aby rozwiązać ten problem, wykonałem czynności opisane w metodzie 1, jak wspomniano na stronie pomocy technicznej MS i zalecaną metodą.

Metoda 1: Włącz funkcję przeglądania katalogów w usługach IIS (zalecane)

  1. Uruchom Menedżera usług IIS. Aby to zrobić, kliknij przycisk Start, kliknij polecenie Uruchom, wpisz inetmgr.exe, a następnie kliknij przycisk OK.

  2. W Menedżerze usług IIS rozwiń nazwę serwera, rozwiń witryny sieci Web, a następnie kliknij witrynę sieci Web, którą chcesz zmodyfikować.

  3. W widoku Funkcje kliknij dwukrotnie Przeglądanie katalogów.

  4. W okienku Akcje kliknij opcję Włącz.

Jeśli to nie zadziała, możesz mieć inny problem niż tylko problem z wpisem w katalogu. Więc postępuj zgodnie z poniższym krokiem,

Metoda 2: Dodaj dokument domyślny

Aby rozwiązać ten problem, wykonaj następujące kroki:

  • Uruchom Menedżera usług IIS. Aby to zrobić, kliknij przycisk Start, kliknij polecenie Uruchom, wpisz inetmgr.exe, a następnie kliknij przycisk OK.
  • W Menedżerze usług IIS rozwiń nazwę serwera, rozwiń witryny sieci Web, a następnie kliknij witrynę sieci Web, którą chcesz zmodyfikować.
  • W widoku Funkcje kliknij dwukrotnie Dokument domyślny.
  • W okienku Akcje kliknij opcję Włącz.
  • W polu Nazwa pliku wpisz nazwę dokumentu domyślnego, a następnie kliknij przycisk OK.

Metoda 3: Włącz funkcję przeglądania katalogów w IIS Express

Uwaga Ta metoda jest przeznaczona dla deweloperów sieci Web, którzy napotykają problem podczas korzystania z usług IIS Express.

Wykonaj następujące kroki:

  • Otwórz wiersz polecenia, a następnie przejdź do folderu IIS Express na komputerze. Na przykład przejdź do następującego folderu w wierszu polecenia: C:\Program Files\IIS Express

  • Wpisz następujące polecenie, a następnie naciśnij klawisz Enter:

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


To powinna zostać zaakceptowana odpowiedź. Metoda 2 zadziałała dla mnie. Początkowo utworzyłem pustą witrynę internetową, a następnie dodałem formularz internetowy o nazwie „WebForm1.aspx”. Dlatego muszę dodać tę nazwę do domyślnej listy dokumentów. Dziękuję Ci.
novato

31

Przejdź do cmd i wpisz:

dla systemu operacyjnego x64:% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

dla systemu operacyjnego x32:% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

Spowoduje to zainstalowanie odpowiedniej wersji, a usługi IIS będą rozumieć przeglądanie katalogów MVC


% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir to działało dla mnie dla mojego systemu 64
bitowego

polecenie dla x64 działało również dla mnie, aby rozwiązać ten problem, który wystąpił w moim serwisie internetowym asmx
Cavid

24

Problem może mieć wiele przyczyn. Jeden, który działał dla mnie w IIS 8.5, był następujący

Kroki

  1. W wyszukiwarce wpisz „włącz lub wyłącz funkcje systemu Windows”.
  2. Kliknij „Dodaj role i funkcje” w Menedżerze serwera.
  3. W Kreatorze przewiń w dół do serwera WWW i wybierz: Serwer WWW -> Tworzenie aplikacji. Wybierz z listy wszystko oprócz CGI, jak pokazano na zrzucie ekranu

wprowadź opis obrazu tutaj

  1. Wreszcie naciśnij Dalej i Zainstaluj.
  2. Uruchom ponownie usługi IIS

Twoja witryna może zacząć działać.


18

Ustaw stronę startową.

Kiedy miałem ten problem, przeszedłem do eksploratora rozwiązań, znalazłem stronę, którą chciałem zobaczyć jako pierwszą (w moim przypadku „Home.aspx)”, kliknąłem ją prawym przyciskiem myszy i wybrałem „Ustaw jako stronę początkową”. To rozwiązało mój problem (który brzmiało bardzo podobnie do twojego) To było w Visual Studio 2012 Professional i uruchomiłem go w przeglądarce Firefox.


17

Spróbuj dodać następujące ustawienia do web.configpliku.

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

2
Błąd HTTP 500.22 - Wewnętrzny błąd serwera
Bryan Labuschagne

Mój problem został rozwiązany, po dodaniu tego kodu w pliku webconfig, dziękuję.
yadavr

17

Właśnie wkleiłem ten fragment kodu do pliku web.config i błąd został rozwiązany.

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

10

Mam na to szybkie rozwiązanie. W rzeczywistości otrzymałem ten błąd, ponieważ nie ustawiłem mojej strony internetowej jako strony startowej. Kiedy zrobiłem moją stronę internetową (html / aspx) jako ustawioną stronę startową, jak pokazano poniżej, poprawiono ten błąd.wprowadź opis obrazu tutaj

Nie wiem, czy to rozwiązanie pomoże innym.


8

Pusty szablon witryny sieci Web tworzy witrynę sieci Web ASP.NET, która zawiera plik Web.config, ale nie zawiera innych plików. Oznacza, że ​​nie masz żadnej domyślnej strony do wyświetlenia podczas przeglądania lub uruchamiania.

Ten komunikat o błędzie oznacza po prostu, że nie ustawiłeś i nie skonfigurowałeś poprawnie domyślnego dokumentu w usługach IIS.

Po skonfigurowaniu komunikat o błędzie zniknie.


Dodałem stronę wzorcową do pustej witryny, a kiedy kliknąłem Uruchom bez kodu, nadal pojawia się błąd. Nie jestem pewien, co muszę zrobić, aby go uruchomić?
Aindriu,

czy masz domyślną stronę w swojej witrynie, jeśli nie, to utwórz i ustaw domyślną stronę, jak pokazano w tym linku iis.net/learn/web-hosting/web-server-for-shared-hosting/ ...
Sain Pradeep

Nie, nie miałem domyślnej strony w pustej witrynie. Podążam za przykładem w książce C #. Dodałem domyślną stronę i strona ładowała się w przeglądarce internetowej ok. Ale w przykładzie używano tylko stron wzorcowych. Nie rozumiem, dlaczego to nie działa. To bardzo prosty przykład.
Aindriu

8

W witrynie w usługach IIS:

  1. wybierz `` Ustawienia zaawansowane ''
  2. Następnie dla puli aplikacji wybierz „ASP.NET v4.0”

na przykład obraz


2
To nie odpowiada na pytanie OP. Zmiana puli aplikacji używanej przez witrynę w usługach IIS nie ma żadnego wpływu na sposób skonfigurowania witryny do wyświetlania zawartości katalogu (lub jej braku). Ma to związek z konfiguracją w pliku web.config.
JNYRanger

8

Panel sterowania> Włącz lub wyłącz funkcje systemu Windows

Internetowe usługi informacyjne> World Wide Web Services> Funkcje tworzenia aplikacji

Włącz dwie opcje

.NET Rozszerzalność 3.5
.ASP.NET 3.5

Pod wprowadź opis obrazu tutaj



5

W moim przypadku otrzymałem ten sam błąd po utworzeniu pustego projektu Web Api.

Rozwiązałem go edytując RouteConfig.cs w App_Start folderze :)

Zastąpiłem wiersz kodu czytającego: -

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

z następującymi :-

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

Zauważ, że po prostu musiałem określić kontroler, którego akcję indeksu chciałbym wywołać jako pierwszą.

Cóż, wszystkie powyższe odpowiedzi nie rozwiązały mojej sprawy (tak jak chciałem) np

  • Włączenie przeglądania katalogów z web.config właśnie wyświetliło listę wszystkich plików i folderów w moim projekcie, tak jak zrobiłby to php, gdy nie masz pliku indeksu
  • Ustawienie defaultDocument również nie działało dla mnie jakoś nadal otrzymałem błąd HTTP 403.14 (Nadal nie mam pojęcia, dlaczego)

Jeśli może być ktoś w podobnych okolicznościach do mojej, spróbuj.


To była większość odpowiedzi, której potrzebowałem. Nazwa kontrolera musi jednak pasować do tego, co zostało utworzone dla aplikacji MVC Nazwa kontrolera (jeśli wywołasz kontroler IndexController, to zadziała) - więc domyślną nazwą akcji na kontrolerze powinna być nazwa Index, a następnie wszystko zostanie powiązane - sugestie Moim zdaniem korzystanie z przeglądania katalogów NIE jest dobrym pomysłem, ponieważ umożliwia każdemu przeglądanie zawartości witryny w całości.
Mark W. Mitchell


4

W moim przypadku wystąpił ten błąd, ponieważ moja aplikacja internetowa to .NET v4, a pula aplikacji została skonfigurowana dla .NET v2.

Dwukrotne kliknięcie puli aplikacji powoduje wyświetlenie wyskakującego okienka, w którym możemy wybrać żądaną wersję .NET Framework.


4

ROZWIĄZANE
Wyszukaj "Windows Feature"na start ->
Kliknij "turn features on and off"->
Rozwiń "Internet Information Services"i
sprawdź każdy program w każdym podfolderze i
kliknij "OK"
To naprawi wszystkie twoje problemy. wprowadź opis obrazu tutaj


3

Rozwiązałem swój problem z odłogiem tych kroków =>

  1. Otwórz Menedżera usług IIS
  2. Kliknij aplikację
  3. Kliknij Przeglądanie katalogów
  4. Kliknij opcję Otwórz funkcję (po prawej stronie zobaczysz pod Akcje)
  5. Kliknij opcję Włącz

2

Może to być spowodowane błędnym wpisem applicationhost.config.

Zatrzymaj program IIS Express, jeśli jest uruchomiony (kliknij prawym przyciskiem myszy jasnoniebieską ikonę przewijania na pasku zadań systemu Windows; Zakończ).

Przejdź do właściwości projektu> sieci Web i sprawdź, czy adres URL projektu jest poprawny. W przypadku adresu URL https upewnij się, że zawiera numer portu z prawidłowego zakresu. Poprawne URL mogą być: https://localhost:44300/. Teraz naciśnij przycisk „Utwórz katalog wirtualny” obok adresu URL. Spowoduje to dodanie nowego wpisu do applicationhost.config.

Rozpocznij projekt ponownie i miejmy nadzieję, że błąd już nie wystąpi.


2

Jestem pewien, że po latach prawdopodobnie masz już odpowiedź. Ale na wypadek, gdyby ktoś inny szukał odpowiedzi w przyszłości.

W moim przypadku nie musiałem nic robić w pliku web.config. Nie sądziłem, że będę musiał to zrobić, ponieważ wcześniej działało.

Upewnij się, że żaden folder nie ma takiej samej nazwy jak Twoja strona, miałem folder o nazwie „blog” i stronę o nazwie „blog.aspx”, próbowałem załadować folder, zauważyłem to w linku, zmieniłem folder na blogContent , teraz ładuje się dobrze.

Publikuję tutaj kopię, ponieważ jesteś pierwszym w zapytaniu.


2

Problem może wynikać z uruchamiania projektu z programu Visual Studio w usługach IIS, będąc na niewłaściwej otwartej karcie w programie Visual Studio, więc rozwiązaniem jest albo otwarcie odpowiedniej karty (formularza internetowego, który chcesz przetestować w przeglądarce), albo tak, jak sugerowali inni w inne odpowiedzi, kliknij prawym przyciskiem myszy formularz internetowy, który chcesz ustawić jako stronę główną, a następnie kliknij opcję „Ustaw jako stronę początkową”.



1

kliknij prawym przyciskiem myszy projekt w eksploratorze rozwiązań, a następnie kliknij dodaj nowy element, dodaj stronę HTML i nazwij ją indeksem. HTML po wszystkim ponownie uruchom aplikację


1

W moim przypadku

W puli aplikacji ustawiłem wersję .NetFrameWork na V4.0 i rozwiązałem problem ....


1

Należy zainstalować część Application Development usług IIS na serwerze, jak widać na tym obrazku:wprowadź opis obrazu tutaj


0

Może się to zdarzyć z wielu powodów. Jeśli wypróbowałeś wszystkie powyższe i nadal otrzymujesz ten sam błąd, mam jeszcze jedno rozwiązanie.

Innym powodem, dla którego może się to zdarzyć, jest to

  1. Jeśli masz tę samą bazę kodu działającą przed rozpoczęciem uruchamiania nowego rozwiązania, możesz napotkać ten błąd. Przyczyną jest to, że IIS Express próbuje działać na tym samym porcie, co w starym rozwiązaniu, które ma fizyczną ścieżkę zarejestrowaną dla początkowego adresu URL aplikacji.
  2. Ponieważ usługi IIS nie mogą określić ścieżki fizycznej do uruchomienia rozwiązania, może nie być w stanie zlokalizować wszystkich bibliotek DLL wymaganych do uruchomienia aplikacji.

Rozwiązania:

  1. Spróbuj zmienić port aplikacji na domyślny. Na przykład użyj http://localhost/zamiasthttp://localhost:25836/

  2. Spróbuj zmienić na inny port, jeśli używałeś już domyślnego portu dla poprzedniej aplikacji. np .: http://localhost:25364/zamiasthttp://localhost/

Umożliwi to usługom IIS / IIS Express wskazanie domyślnej ścieżki bin nowszej aplikacji, którą próbujesz uruchomić, która będzie miała wszystkie biblioteki DLL wymagane do uruchomienia aplikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.