Wystąpił błąd podczas wdrażania witryny na serwerze. Podczas próby załadowania strony głównej lub uzyskania dostępu do uwierzytelnienia w nowej witrynie w usługach IIS pojawia się błąd:
Błąd konfiguracji: tej sekcji konfiguracji nie można użyć w tej ścieżce. Dzieje się tak, gdy sekcja jest zablokowana na poziomie nadrzędnym. Blokowanie jest albo domyślnie (overrideModeDefault = „Odmów”), albo jawnie ustawione przez tag lokalizacji z overrideMode = „Odmów” lub starsze zezwalanieOverride = „false”.
Więcej szczegółów można znaleźć tutaj, w scenariuszu 7 pasuje do mojego kodu błędu szesnastkowego.
Rozwiązaniem podanym na powyższej połączonej stronie jest ustawienie Zezwól na overrideModeDefault w sekcji wymienionej w moim błędzie, w pliku applicationHost.config . W moim przypadku w obszarze Bezpieczeństwo w system.webServer . Ale jeśli spojrzę na applicationHost.config na moim komputerze lokalnym, na którym witryna jest już poprawnie wdrożona, ta sekcja jest ustawiona na Odmów .
Jeśli to rozwiązanie jest poprawne, w jaki sposób moja lokalna instancja działa dobrze z tym samym plikiem web.config ? Według mojego applicationHost.config ta sekcja powinna być zablokowana, ale nie jest. Wolałbym nie zmieniać pliku applicationHost.config , ponieważ na tym serwerze działa wiele innych witryn. Czy jest inne rozwiązanie?
Odpowiedzi:
Miałem ten sam problem. Nie pamiętam, gdzie go znalazłem w Internecie, ale oto co zrobiłem:
btw, używam Windows 7.
źródło
Możesz także użyć Menedżera IIS do edycji tych ustawień.
Opieka nad tym artykułem Dowiedz się o IIS :
Korzystanie z funkcji delegowania funkcji z katalogu głównego IIS:
Następnie możesz kontrolować każde z uprawnień do odczytu / zapisu na poziomie komputera, co w przeciwnym razie da ci błędy overrideMode = "Odmów" .
źródło
W przypadku Windows Server 2012 i IIS 8 procedura jest podobna.
Web Server (IIS)
IApplication Server
powinny być zainstalowane, i powinny mieć również opcjonalnyWeb Server (IIS) Support
UnderApplication Server
.źródło
Przejdź do „C: \ Windows \ System32 \ inetsrv \ config” (potrzebujesz uprawnień administratora tutaj) Otwórz applicationHost.config
Uwaga : W IISExpress i Visual Studio 2015 applicationHost.config jest przechowywany w
$(solutionDir).vs\config\applicationhost.config
Znajdź sekcję, która pojawiła się w części „źródło konfiguracji” na stronie komunikatu o błędzie. Dla mnie były to zazwyczaj „moduły” lub „moduły obsługi”
Zmień
overrideModeDefault
atrybut naAllow
Cała linia wygląda teraz tak:
Po zapisaniu pliku strona ładuje się dobrze w mojej przeglądarce.
Ostrzeżenie: edycja applicationHost.config w 64-bitowym systemie Windows
źródło
Musisz odblokować programy obsługi. Można to zrobić za pomocą następującego polecenia cmd:
Może inna informacja dla osób, które dostają ten błąd na IIS 8, w moim przypadku była na platformie Microsoft Server 2012. Spędziłem kilka godzin walcząc z innymi błędami, które pojawiły się po uruchomieniu appcmd. W końcu udało mi się to naprawić, usuwając rolę serwera sieci Web i instalując go ponownie.
źródło
/section:access /sslFlags:SslNegotiateCert
i stwierdził, że musiałem użyć powyższego, z-section:access
którym zgłoszono jakoUnlocked section "system.webServer/security/access"...
1. Otwórz „ Włącz lub wyłącz funkcje systemu Windows ”: WinKey + R => „opcjonalne funkcje ” => OK
Testowane na Win 10 - ale prawdopodobnie będzie działać również w innych wersjach systemu Windows.
źródło
Uruchomiłem te dwa polecenia z wiersza polecenia z podwyższonym poziomem uprawnień:
źródło
Zgodnie z moją odpowiedzią na ten podobny problem ;
Spróbuj odblokować odpowiednie ustawienia konfiguracji IIS na poziomie serwera w następujący sposób:
źródło
W systemie Windows Server 2012 z IIS 8 rozwiązałem ten problem, włączając funkcję ASP.NET 4.5 :
a następnie po odpowiedzi Ken'a .
źródło
Najlepszą opcją jest Zmiana
Application Settings
zCustom Site Delegation
Otwartego
IIS
i z głównego wyboru,Feature Delegation
a następnie wybierzApplication Settings
i z prawego paska bocznegoRead/Write
źródło
To załatwiło sprawę, dla IIS 8 Windows Server 2012 R2
Przejdź do „Włącz funkcje”
Następnie przejdź do wszystkich ustawień domyślnych, Następny, Następny, Następny itd.
Następnie wybierz, jak pokazano poniżej,
Następnie zresetuj IIS (opcjonalnie), ale zrób to bezpieczniej.
Jest to dodatkowe rozwiązanie, ponieważ jest to ogólny problem, każdy ma inny problem, a zatem inne rozwiązanie. Twoje zdrowie!
źródło
Aby to naprawić, otwórz IIS Express applicationhost.config. Ten plik jest przechowywany w folderze C: \ Users [nazwa użytkownika] \ Documents \ IISExpress \ config \ applicationhost.config
Aktualizacja dla VS2015 +: lokalizacja pliku konfiguracyjnego to $ (solutionDir) .vs \ config \ applicationhost.config
Poszukaj następujących linii
Zmień te linie na
Zapisz i odśwież stronę Asp.net.
źródło
W naszym przypadku dotyczącym usług IIS 8 stwierdziliśmy, że wystąpił błąd podczas próby wyświetlenia uwierzytelnienia „dla witryny, gdy:
Oznaczając witrynę Delegacja funkcji „Uwierzytelnianie - Windows” = „Odczyt / zapis” błąd zniknął. Wygląda na to, że z funkcją oznaczoną „Tylko do odczytu” web.config nie może w ogóle się do niego odwoływać, nawet go wyłączać, ponieważ najwyraźniej stanowi to zapis.
źródło
Wydaje się, że w IIS Express i VS 2015 istnieje kopia pliku applicationHost.config w $ (solutionDir) .vs \ config \ applicationhost.config, więc musisz tam wprowadzić zmiany. Zobacz ten link: http://digitaldrummerj.me/iis-express-windows-authentication/
Upewnij się, że te linie zostały zmienione zgodnie z poniższym:
źródło
W moim przypadku było tak, że na serwerze nie włączono „Aktywacji HTTP” w ramach funkcji .NET Framework. Tak więc dla Windows Server 2012 rozwiązaniem, które działało dla mnie było:
Server Manager -> Dodaj role i funkcje -> Funkcje -> upewnij się, że w .NET Framework wersji, której chcesz użyć, jest zaznaczone „Aktywacja HTTP”
źródło
Powershell sposób włączania funkcji (Windows Server 2012 +) - przycinanie w razie potrzeby:
źródło
Musiałem zmienić ustawienia SSL w podfolderze, gdy otrzymałem tę ładną wiadomość. W moim przypadku następujące działanie pomogło mi.
Otwarty C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config
I zmieniłem wartość z overrideModeDefault = „Deny” na „Allow”
źródło
Błąd mówi, że sekcja konfiguracji jest zablokowana na poziomie nadrzędnym. Więc nie będzie to bezpośrednio 1 plik konfiguracyjny, który rozwiąże problem, musimy przejść przez hierarchię plików konfiguracyjnych, aby zobaczyć dziedziczenie Sprawdź poniższy link, aby przejść przez hierarchię plików i dziedziczenie w IIS
https://msdn.microsoft.com/en-us/library/ms178685.aspx
Musisz więc sprawdzić ustawienia konfiguracji aplikacji w poniższej kolejności
Przejrzyj uważnie wszystkie te konfiguracje w kolejności od 1 do 6 i powinieneś je znaleźć.
źródło
W moim przypadku wystąpił ten błąd, ponieważ działałem na niewłaściwym pliku konfiguracyjnym.
Robiłem to:
zamiast poprawnego kodu:
innymi słowy, próbowałem działać na stronie web.config zamiast globalnego pliku C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config, który ma sekcję (lub może mieć sekcję) dla strony. Ustawienie, które próbowałem zmienić, istnieje tylko w pliku applicationHost.config.
źródło
W moim przypadku było to coś innego.
Kiedy załadowałem rozwiązanie do nowej wersji Visual Studio, VS najwyraźniej utworzył nowy plik applicationhost.config dla konkretnego projektu:
MySolutionDir \ .vs \ config \ applicationhost.config
Zaczęło używać ustawień z nowej konfiguracji zamiast moich już dostosowanych globalnych ustawień IIS Express. (\ Users \% USER% \ Documents \ IISExpress \ config \ applicationhost.config)
W moim przypadku było to ustawienie, które należało ustawić. Oczywiście może to być coś innego:
źródło
Zauważyłem jedną odpowiedź, która była podobna, ale w moim przypadku użyłem edytora IIS Configured Editor, aby znaleźć sekcję, którą chciałem „odblokować”.
Następnie skopiowałem ścieżkę i użyłem jej w mojej automatyzacji do odblokowania jej przed zmianą sekcji, które chciałem edytować.
źródło
Ten sam problem pojawił się po zainstalowaniu IIS 7 na Vista Home Premium. Aby poprawić błąd, zmieniłem następujące wartości znajdujące się w pliku applicationHost.config w systemie Windows \ system32 \ inetsrv.
Zmień wszystkie następujące wartości znajdujące się w sekcji ->
źródło
Czy możesz spróbować:
Przejdź do ścieżki aplikacji, w której pojawia się błąd odmowy, kliknij prawym przyciskiem myszy
Właściwości-> karta Zabezpieczenia
W tym zmień uprawnienia i zaznacz pole wyboru odczytu i zapisu. Mam nadzieję, że będzie działać bez żadnych błędów.
źródło
W systemach Windows Server 2008 i IIS 7 procedura jest podobna. proszę odnieść się do tego: http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx
w usłudze dodawania roli zobaczysz „Funkcje programowania aplikacji”
Sprawdź (włącz) funkcje. Sprawdziłem wszystko.
źródło
Miałem problem polegający na tym, że wstawiałem wartości override = „Allow” (wspomniane już tutaj) ...... ale w systemie x64 bit ....... mój 32 Notatnik ++ zapisywał je fantomowo. Przejście do Notatnika (który jest aplikacją 64-bitową na O / S x64 bit) pozwoliło mi zapisać ustawienia.
Widzieć :
http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/
Odpowiedni tekst:
Jeden z problemów, z których korzystam, wymagał przeglądania i edytowania applicationHost.config. Ten plik znajduje się w% SystemRoot% \ System32 \ inetsrv \ config. Wydaje się dość proste. Byłem w stanie łatwo go znaleźć z wiersza poleceń, ale kiedy poszedłem załadować go do mojego ulubionego edytora (Notepad ++), dostałem błąd nie znaleziono pliku. Okazuje się, że folder System32 został przekierowany dla aplikacji 32-bitowych na SysWOW64. Wygląda na to, że nie ma sposobu, aby wyświetlić folder System32 za pomocą aplikacji 32-bitowej. Domyśl. Na szczęście 64-bitowe wersje systemu Windows są dostarczane z 64-bitową wersją Notatnika. Tak bardzo, jak mi się nie podoba, przynajmniej działa.
źródło
W moim przypadku ten błąd pojawiał się podczas próby aktualizacji ustawień uwierzytelniania w usługach IIS, oprócz przeglądania. Byłem w stanie usunąć ten błąd, usuwając ustawienie uwierzytelniania z samego pliku web.config. Usunięcie problematycznej sekcji konfiguracji może być mniej inwazyjne i w niektórych przypadkach bardziej zalecane niż zbyt duże zmienianie ról i funkcji serwera:
Część usunięta:
źródło
Miałem ten sam problem.
źródło
To działało dla mnie Również w IIS 8 możesz rozwiązać ten problem, zmieniając serwer na IIS Express. Idź do debugowania-> Właściwości W sieci wybierz serwer jako IIS Express z menu rozwijanego, a następnie przebuduj rozwiązanie
źródło
Aby wprowadzić zmianę na poziomie aplikacji (Web.Config):
Usuń poziom zaufania z pliku web.config:
W rzeczywistości otrzymywałem ten błąd, gdy próbowałem hostować moją witrynę na serwerze hostingowym, na którym nie mam kontroli nad tym serwerem. Usunięcie powyższej linii z mojej aplikacji web.config rozwiązało mój problem.
źródło
Dla mnie działało:
Przejdź do właściwości projektu. Karta internetowa. Ustaw na Lokalne IIS i ustaw konkretną stronę.
Mam system Windows 7 i Visual Studio 2013.
źródło