Mam aplikację internetową wdrożoną na serwerze 2008 IIS 7.5.
Z pilota daje ten błąd: 401 - Unauthorized: Access is denied due to invalid credentials
. (zdalne = komputery stacjonarne w tej samej sieci LAN)
Wypróbowałem kilku zdalnych klientów korzystających z różnych przeglądarek, wszystkie z tego samego wyniku. (IE, FF i Chrome)
Uderzenie aplikacji z pulpitu samego serwera działa bezbłędnie . Jednak nie próbowałem Firebug na pulpicie serwera. Zakładam, że nadal wydaje kod stanu 401, ale mimo to zwraca treść. Zobacz aktualizację nr 2.
Aplikacja korzysta z Anonimowego Uwierzytelniania.
Aplikacja napisana jest w .NET 4.0 Asp.Net przy użyciu frameworka MVC.
Treść statyczna działa dobrze, przykład: http://server.com/content/image.jpg
Sysinternals procmon
zwraca te 2 wyniki dla każdego żądania: SZYBKIE IO NIE DOPUSZCZONE i ŚCIEŻKA NIE ZNALEZIONA.
Mam 2 inne aplikacje MVC działające poprawnie na tym samym serwerze. Sprawdziłem zabezpieczenia folderów i wszystkie pasują do siebie.
Aplikacja działa dobrze na pudełku Server 2008 IIS 7.0.
Nic nie pojawia się w dzienniku zdarzeń na serwerze związanym z tym.
Wyciągając włosy tutaj, jakieś wskazówki dotyczące rozwiązywania problemów?
AKTUALIZACJA # 1 : Po prostu dostaję więcej WTF podczas kopania.
Jeśli kliknę aplikację w Menedżerze IIS -> Strony błędów -> wybierz Edytuj ustawienia funkcji Detailed Errors
, aplikacja będzie działać zdalnie. Nie pozostawiając tego włączonego, więc problem nie został jeszcze rozwiązany, jest po prostu bardziej zagmatwany.
AKTUALIZACJA # 2 : Korzystając z Firebug, widzę, że status jest nadal 401 Unauthorized
, ale Odpowiedź zwraca poprawny kod HTML aplikacji.
AKTUALIZACJA # 3 Zabawa ze śledzeniem nieudanych żądań, oto Śledzenie żądań OSTRZEŻENIE, które powoduje 401:
ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401
HttpReason Unauthorized
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode The operation completed successfully. (0x0)
Pokazuje to regularny dziennik IIS aktualizacji nr 4 :
#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2010-07-20 19:17:22
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-20 19:17:22 10.10.1.10 GET /Purchasing/Home - 80 - 10.10.1.12 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US;+rv:1.9.2.6)+Gecko/20100625+Firefox/3.6.6 401 0 0 4414
Html.RenderAction
, a potem zdałem sobie sprawę, że Razor używa, Html.Action
więc moje pierwsze wyszukiwania były puste.