IIS 失敗請求追蹤不起作用

IIS 失敗請求追蹤不起作用

我在 IIS 8 上設置了失敗請求跟踪,但它沒有按預期記錄錯誤;有一個 ASP Classic 頁面產生“500 Internal Server Error”,但 FailedReqLogFiles 資料夾為空。這是我的設定:

  • 已安裝失敗請求追蹤模組

  • 為了追蹤 ASP Classic 頁面產生的錯誤 #500,我設定了以下規則:

<traceFailedRequests>
    <add path="*">
        <traceAreas>
            <add provider="ASP" verbosity="Verbose" />
            <add provider="ISAPI Extension" verbosity="Verbose" />
            <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI,WebSocket,RequestRouting" verbosity="Verbose" />
        </traceAreas>
        <failureDefinitions timeTaken="00:00:00" statusCodes="500-999" />
    </add>
</traceFailedRequests>
  • enabled="true"由於我在網站預設設定中設定了 100 多個網站:
<siteDefaults>
    <traceFailedRequestsLogging enabled="true" directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" maxLogFiles="50" />
  • 最後我創建了一個拋出錯誤的測試頁面:
<%
Option Explicit
Response.Write a ' Variable is undefined: 'a'
%>

錯誤如預期記錄,%SystemDrive%\inetpub\logs\FailedReqLogFiles但實際內容頁面產生的錯誤則不然。這些頁面的不同之處在於它們是透過重寫模組來呼叫的,並且 URL 看起來像https://example.com/about.html代替https://example.com/about.asp

如何解決這個問題?

答案1

本文有一條註釋說:

如果在 URL 重寫模組之後安裝失敗請求跟踪,則追蹤提供者中的「重寫」區域可能不可用。如果您沒有看到其中列出的“重寫”區域,請轉到“新增/刪除程式”,然後在修復模式下執行 URL 重寫模組安裝程式。

我重新安裝了 URL 重寫模組,然後重新建立了失敗的請求追蹤規則,確保「WWW 伺服器」提供者的「區域」部分存在(並選擇了「重寫」)。

失敗的請求隨後被記錄,並包含事件檢視器中不存在的信息,例如錯誤頁面的完整 URL 和堆疊追蹤

相關內容