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?

Aindriu
źródło
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>
NASSER
źródło
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

Szczęściarz
źródło
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

Sadjad Khazaie
źródło
% 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ć.

satish suthar
źródło
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.

joshmcode
źródło
17

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

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Litisqe Kumar
źródło
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>
Chamila Maddumage
źródło
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.

Rinoy Ashokan
źródło
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.

Sain Pradeep
źródło
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

Chcę zrobić
źródło
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

Hakan Fıstık
źródło
6

Problem

Błąd: 403,13 podczas uruchamiania witryny sieci Web WebForms ASP.Net z programu Visual Studio.

Rozwiązanie

Odmowa dostępu do katalogu głównego: http: // localhost: 51365

Przejdź do strony logowania lub dowolnej strony, która istnieje i będzie działać:

http: // localhost: 51365 / Login.aspx

Jeremy Thompson
źródło
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.

rey_coder
źródło
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.

Kos
źródło
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

Ahmed Adewale
źródło
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
Haktan Enes Biçer
źródło
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.

Protektor pierwszy
źródło
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.

Justin Sinnard
źródło
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ą”.

Mehdi Fracso
źródło
1

W moim przypadku brakowało Microsoft.Owin.Host.SystemWebnuget.

pootzko
źródło
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ę

user1324491
źródło
1

W moim przypadku

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

ashkufaraz
źródło
1

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

Amir Parsi
źródło
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.

Kryszna
źródło