Windows-Server-2008-R2

IIS 開始為 404 服務(工作一段時間!)

  • June 4, 2018

這是一個剛剛開始發生的有趣的事情。我最近所做的更改:

  • 更新的網站(不是主要更新,小程式碼更改/錯誤修復)
  • 將 URL 重寫規則添加到 301 論壇到不同的域

否則網站已經好幾個星期(可能幾個月)沒有受到影響。

所有重寫的 URL 似乎都受到了影響。URL 可以正常工作一段時間,然後突然我們開始得到:

404 找不到目錄

在這些 URL 上。我一生都無法弄清楚為什麼會這樣,以及是什麼原因造成的。事件查看器似乎沒有顯示任何相關內容。

重新啟動伺服器會暫時修復它,重新啟動 IIS 也是如此。回收應用程序池有時會暫時起作用。

伺服器

Windows Server 2008 R2

最新更新

網站目標框架 4.5.2

IIS 6.1 Build 7601 SP1

IIS 應用程序池框架 4.0

單個應用程序應用程序池(未共享)

是否有人對可能導致此問題的原因或如何進一步調查有任何想法?這可能開始嚴重傷害我們。非常感謝任何幫助。

更多資訊

讓它返回詳細的錯誤資訊,並返回:

Detailed Error Information
Module  IIS Web Core
Notification    MapRequestHandler
Handler StaticFile
Error Code  0x80070002
Requested URL   https://www.scirra.com:443/tutorials/top
Physical Path   C:\inetpub\wwwroot\Scirra\tutorials\top
Logon Method    Anonymous
Logon User  Anonymous

顯然請求的物理路徑不存在。

這是來自日誌文件的範例,其中2似乎是ERROR_FILE_NOT_FOUND

2018-06-02 17:26:44 108.xx.xx.xx GET /store - 443 - 172.xx.xx.xx Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/66.0.3359.181+Safari/537.36 404 0 2 280

IIS 6 似乎每隔一段時間就會遇到這個問題,尤其是 4.0 框架。通常有效的修復方法是:

只需添加一個值為“0”的 DWORD 系統資料庫項“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls”,然後重新啟動 IIS 即可解決此問題。

原因是這一輪 Windows 更新似乎吹走了該系統資料庫項。

無恥地從:

https://blogs.msdn.microsoft.com/tmarq/2010/06/18/how-to-disable-the-asp-net-v4-0-extensionless-url-feature-on-iis-6-0/

引用自:https://serverfault.com/questions/914753