Go Live hibák

Gyakran előfordul, hogy egy webalkalmazás éles üzembe állítása nem olyan simán megy, mint ahogyan azt szeretnénk vagy ahogy azt a fejlesztő elképzeli. A minap egy kész ASP.NET-es alkalmazást kellett IIS 7 alatt közzétennem, miközben a rendszer szebbnél szebb hibaüzenetekkel örvendeztetett meg.

Arra természetesen gondoltam, hogy ellenőrizzem a connection string beállításokat és hogy beállítsam az alkalmazáshoz tartozó application poolt, első futtatáskor mégis ezzel kellett szembesülnöm:

HTTP Error 500.19 – Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Error Code: 0x8007000d
Handler: Not yet determined

A web.config tökéletes volt, csak éppen az IIS nem ismert fel benne minden elemet, ugyanis a webalkalmazás használta az URL Rewrite Module-t. Miután ezt letöltöttem és telepítettem, a fenti hibaüzenet megszűnt. Jött helyette másik:

HTTP Error 401.3 – Unauthorized
You do not have permission to view this directory or page because of the access control list (ACL) configuration or encryption settings for this resource on the Web server.

Notification: AuthenticateRequest
Handler: StaticFile
Error Code: 0x80070005

Aki konfigurált már IIS 6-on Application Poolt, ilyenkor rögtön megnézi, hogy valóban jó-e az Application Pool identity, és annak a felhasználói fióknak valóban van-e joga az alkalmazás mappájának olvasására. Ezt tényleg nem árt ellenőrizni, de IIS 7 alatt még azt is lehet külön állítani, hogy anonymous hitelesítés esetén az IUSR vagy az application pool fiók nevében fusson az alkalmazás:

Application pool identity használatának beállítása IIS 7 alatt

Alapértelmezés szerint itt az IUSR felhasználó szerepel, miután átállítottam Application pool identity-re az alkalmazás már elindult, csak az oldalon nem jelentek meg a grafikai elemek és szemmel láthatóan a CSS sem töltődött le. Beírtam az oldalon megjeleníteni kívánt logo.png közvetlen elérési útját a böngészőbe, így sikerült előcsalnom a teljes hibaüzenetet:

HTTP Error 500.19 – Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Module: HttpLoggingModule
Notification: SendResponse
Handler: StaticFile
Error Code: 0x80070021
Config Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false". 

Az 500.19 már ismerős, megint valami konfigurációs hiba. A Detailed Error Information blokkból azonban kiderül, hogy itt a kérés már tovább jutott és a HttpLoggingModule futása közben halt el. Valami olyan dolog lehet beállítva a web.configban, ami erre a modulra vonatkozik, csak éppen felsőbb, szerver szinten nem engedélyezett ennek az opciónak a beállítása alkalmazás szinten. Megnézve a kérdéses mappát, valóban szerepelt benne egy web.config, amiben ki volt kapcsolva a naplózás:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <!-- Disable IIS7 logging for this folder -->
            <httpLogging dontLog="true" />
        </system.webServer>
    </configuration>

Nosza irány a Feature Delegation funkció az IIS Mangerben, ahol beállítottam, hogy a Logging legyen Read/Write az alapértelmezett Not delegated helyett:

IIS 7 Feature Delegation - Logging Read/Write

Mindezek egy fejlesztés szempontjából aránylag egyszerű alkalmazásnál jöttek elő, csak éppen a fejlesztés közben nem vették folyamatosan figyelembe az üzemeltetési feladatokat, így ezeket a beállítási igényeket egyszerűen nem dokumentálták.

Reklámok

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s