Chcę wgrać własną stronę asp.net na IIS z IIS Manager. Ale kiedy to robię, pojawia się następujący błąd
Błąd HTTP 500.19 - Wewnętrzny błąd serwera Nie można uzyskać dostępu do żądanej strony, ponieważ powiązane dane konfiguracyjne strony są nieprawidłowe
Moduł IIS Web Rdzeń
Powiadomienie nieznane
Handler nie jest jeszcze ustalona
Error Code0x80070005
Config Błąd nie można odczytać pliku konfiguracyjnego z powodu niewystarczających uprawnień
plik konfiguracyjny\\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Wiele razy szukałem rozwiązania tego błędu, ale żadne z rozwiązań nie rozwiązało tego błędu.
Mam problem z moim IUSR
kontem. Nie widzę tego konta w „nazwach grup lub użytkowników” we właściwościach web.config
.
Jaki jest problem?
źródło
Web.config
listy ACL pliku różnią się od innych plików w katalogu i nie dziedziczą po rodzicu . Włączyłem dziedziczenie ACL i wszystko wróciło do normy.Odpowiedzi:
Komunikat mówi, że plik konfiguracyjny jest w jakiś sposób uszkodzony. Mówi jednak również, że nie może uzyskać dostępu do pliku konfiguracyjnego. Dlatego zignorowałbym pierwotną wiadomość o uszkodzeniu / braku ważności, ponieważ jest to najprawdopodobniej efekt niemożności odczytania pliku z powodu braku autoryzacji.
Powodem, dla którego nie może odczytać pliku konfiguracyjnego, jest to, że proces uruchamiania aplikacji internetowej nie ma uprawnień dostępu do pliku / katalogu. Musisz więc nadać procesowi uruchomionemu aplikacji internetowej te uprawnienia.
Prawa dostępu powinny być dość proste, tzn. Przynajmniej do odczytu i, w zależności od aplikacji, może do zapisu .
Powyżej wspominasz, że IUSR itp. Nie jest we właściwościach
web.config
. Jeśli przez to rozumiesz, że IUSR nie jest wymieniony w zakładce bezpieczeństwa pliku, to dobrze. Nie chce się udzielać IUSR żadnego zezwolenia na web.config . Rola IUSR jest anonimowym użytkownikiem Internetu.Plik web.config powinien być dostępny tylko za pośrednictwem aplikacji.
Problem polega na tym, że nie powiedziałeś, której wersji systemu operacyjnego i usług IIS używasz, więc trudno jest doradzić, jakie kroki podjąć.
Oznacza to, że w IIS 7.5 cytowany komunikat o błędzie może wystąpić z powodu nieprzypisania uprawnień ApplicationPoolIdentity . Twoja aplikacja internetowa należy do puli aplikacji, dlatego musisz udzielić uprawnień do konta systemu operacyjnego, na którym działa pula aplikacji. Często jest to coś w rodzaju NetworkService, ale być może dostosowałeś go do działania na specjalnie stworzonym koncie. Bez dodatkowych informacji trudno ci pomóc.
źródło
Może się to również zdarzyć, jeśli witryna jest skonfigurowana do korzystania z modułu Przepisz URL IIS, ale nie jest zainstalowana.
źródło
Wreszcie znalazłem rozwiązanie mojego problemu. Konto ASP.net nie pojawiło się w menedżerze IIS, ponieważ nie zaznaczyłem jego pola wyboru w IIS. Aby to zrobić w systemie Windows 7, wykonaj następujące czynności:
Teraz zobaczysz konto ASP.net w menedżerze IIS i domyślnie zobaczysz konto IIS. Teraz powinieneś przenieść swoją stronę ASP.net z „mojego dokumentu” do innego miejsca, w którym IIS mają pozwolenie na dostęp do niej (tj. Na inną partycję na twoim komputerze). Teraz przejrzyj swoją stronę z poziomu menedżera IIS i powinna ona działać.
Bardzo dziękuję Jeffowi Turnerowi za rozwiązanie.
źródło
W moim przypadku instalacja modułu IIS URL Rewrite rozwiązała problem.
źródło
Miałem ten sam problem, oto rozwiązanie, które zadziałało dla mnie.
źródło
Dla programistów Visual Studio (VS): Jak sugerują Harvey Darvey, Savage i Snives, konfiguracja hosta aplikacji może wskazywać niewłaściwą ścieżkę fizyczną aplikacji. Wyszukaj virtualDirectory w katalogu /.vs/config/applicationhost.config, aby zmienić ścieżkę fizyczną, jeśli jest niepoprawna.
Upewnij się, że ścieżka fizyczna jest poprawna:
źródło
Alarm twarzy
Ten błąd pojawi się również, jeśli ścieżka do pliku konfiguracyjnego jest nieprawidłowa. Sprawdź to dwukrotnie, aby upewnić się, że ścieżka fizyczna jest poprawnie wprowadzona w IIS.
źródło
Musisz przypisać uprawnienia do IIS_IUSRS na komputerze lokalnym (ale nie musisz przypisywać uprawnień do IUSR, w rzeczywistości zadziała, nawet jeśli jawnie odmówisz uprawnień).
Aby przypisać uprawnienia, po prostu kliknij prawym przyciskiem myszy folder i na karcie bezpieczeństwa upewnij się, że udzielisz odpowiednich uprawnień, a jeśli użytkownika nie ma na liście, kliknij „DODAJ” i wpisz IIS_IUSRS (i upewnij się, że w „domenie” lokalny komputer jest wybrany lub wprowadź nazwę w polu YourLocalComputerName \ IIS_IUSRS), a następnie jesteś dobry, aby przejść.
Jeśli chcesz, możesz zamiast przypisywać uprawnienia do grupy IIS_IUSRS, możesz zamiast tego przypisać do puli aplikacji, która ogólnie powinna mieć postać „IIS APPPOOL \ nazwa puli aplikacji ”.
źródło
Tylko po to, żeby się wtrącić, otrzymałem ten sam rodzaj błędu i mój problem był dość prosty: brakowało mi pakietu .NET Core Hosting. Po zainstalowaniu narzędzia i ponownym uruchomieniu serwera wszystko było w porządku.
Podręcznik do obsługi rdzenia asp.net w systemie Windows można znaleźć tutaj: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
źródło
To samo stało się ze mną. Spróbuj to sprawdzić, klikając dwukrotnie parametry połączenia w prawym panelu IIS 7 po wybraniu strony internetowej.
Daje ci błąd (że jest jakiś problem z internetowym plikiem konfiguracyjnym), ponieważ użyłeś reguł przepisywania adresów URL i odpowiedni komponent nie został zainstalowany.
Zainstaluj „Microsoft URL Rewrite Module 2.0 dla IIS 7”, co powinno rozwiązać Twój problem
źródło
Nic tu nie działało, znalazłem to polecenie w innej SO odpowiedzi i rozwiązało to mój problem. Po prostu uruchom wiersz polecenia jako administrator i uruchom następujące polecenie:
Źródło: Użytkownik Vicxx
źródło
Wykonuję te kroki, aby rozwiązać ten problem w systemie Windows Server 2012, IIS 8.5. Powinien działać również w przypadku innych wersji.
Web Server
.NET Extensibility 4.5
,ASP.NET 4.5
i zarównoISAPI
wpisyNET 3.5
,.NET 4.5
,ASP.NET 4.5
Web Server
(wszystkie),Management Tools
(IIS Management Console and Management Service), Windowsźródło
Jeszcze jedna możliwość, która naprawiła dla mnie ten problem:
IIS -> Edytuj uprawnienia -> Karta Zabezpieczenia -> Nadaj „Użytkownikom” odpowiednie uprawnienia (lub IIS_IUSRS, w zależności od konfiguracji)
źródło
Ehm. Przeniosłem moją witrynę / pliki do innego folderu. Bez zmiany ścieżki na stronie IIS.
Wszyscy możecie się teraz śmiać.
źródło
Upewnij się, że pula aplikacji jest ustawiona na poprawną wersję frameworka. Musisz także upewnić się, że użytkownicy aspnet, IIS_IUSRS lub IUSR mają dostęp do odczytu do katalogu aplikacji.
źródło
Zainstaluj moduł ASP.NET Core
Pobierz instalator za pomocą następującego łącza: https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
źródło
Zdarzyło mi się to również wtedy, gdy miałem domyślny dokument o tej samej nazwie (np. Index.aspx) określony zarówno w moim pliku web.config ORAZ mojej witrynie IIS. W końcu usunąłem wpis ze strony IIS i zachowałem wpis web.config jak poniżej:
źródło
Czasami w tym komunikacie mogą brakować składników w środowisku IIS, np. Określonej struktury lub funkcji IIS, takiej jak kompresja dynamiczna, zamiast uprawnień do pliku web.config.
W takim przypadku rozwiązaniem może być instalacja i użycie Instalatora platformy Microsoft i zainstalowanie brakujących składników - być może będziesz musiał sprawdzić, co dokładnie brakuje, ponieważ dziennik błędów i komunikat nie mówią ci.
źródło
Spróbuj zainstalować podskładnik „Tworzenie aplikacji” IIS, jak wspomniano w niniejszym SO
źródło
Musisz ustawić uprawnienia do folderu witryny lub skopiować je do folderu wwwroot :) - Jeśli ustawiono pozwolenie, masz 2 sposoby: + Kliknij prawym przyciskiem myszy na folder swojej strony + lub Kliknij prawym przyciskiem myszy na swoją stronę w IIS => wybierz Edytuj uprawnienie i dodaj pozwolenie (IUSR - domyślny użytkownik iis) Powodzenia ;-)
źródło
W moim przypadku jest to spowodowane fizyczną ścieżką aplikacji do nieistniejącego folderu w IIS.
źródło
Miałem problem, gdy kopiowałem mój plik web.config z prod, zmieniłem wszystko, co nie jest związane z prod oprócz reguł Rewrite, które były przepisywane do http S .
Usunąłem te reguły i działało dobrze.
źródło
Całkiem prosto, IIS nie ma dostępu do twojego web.config. Zacznę od usunięcia witryny z folderu dokumentów. Sprawdź, czy ma również uprawnienia do r / w.
źródło
Ja również miałem podobny problem i naprawiłem go, komentując niektóre sekcje w pliku web.config.
Projekt został wcześniej zbudowany i wdrożony w .Net 2.0. Po migracji do .Net 3.5 zaczął zgłaszać wyjątek.
Uchwały:
Jeśli plik konfiguracyjny zawiera „< sectionGroup name =" system.web.extensions > ”, skomentuj go i uruchom, ponieważ ta sekcja jest już dostępna w pliku Machine.config.
źródło
Możesz otrzymać ten błąd, jeśli masz błąd synx lub problem w pliku web.config.
Dla mnie była to zbłąkana ampersand w adresie URL , którego używałam w AppSettings.
źródło
Na stronie błędu IIS 7.5 kliknij „Wyświetl więcej informacji” u dołu strony, w tym przypadku przeniesie Cię do następującego łącza Microsoft:
http://support.microsoft.com/kb/942055
0x80070005 Kod błędu wydaje się być związany z uprawnieniami i postępując zgodnie z krokami w Rezolucji 2, Metoda 2 przypisując prawidłowe konta z uprawnieniami do odpowiednich folderów powinna go naprawić - spędziłem 3 dni szukając rozwiązania, dopóki go nie spotkałem, pracowałem od razu.
źródło
dostałem ten problem z mapowanymi dyskami, IIS nie działa z mapowanymi dyskami. Wystarczy użyć niezamapowanego dysku.
źródło
Przejrzyj folder, w którym znajduje się Twoja strona internetowa, a zobaczysz, że dostaniesz dodatkowy folder „aspnet_client”, usuń ten folder, a on zadziała.
Próbowałem tego, mój problem został rozwiązany.
Jeśli to działa, proszę udzielić odpowiedzi, aby inne ciała również uzyskały rozwiązanie.
źródło
Nic z tego nie działało dla mnie, ale w końcu mam rozwiązanie, które działało dla mnie:
usuń tę linię z web.config:
nie usuwaj tej linii
źródło
Dodaj konto lokalne IIS_IUSRS do zabezpieczeń i nadaj im dostęp do odczytu / wykonywania. to działa w mojej sprawie.
źródło