IIS7で約2か月間実行されているWebサイトがあります。ユーザーがページのないドメインに移動するとdefault.aspページを読み込むように既定のドキュメントが設定されています。突然今朝、エラーが発生し、デフォルトのドキュメントが読み込まれません。私がdefault.aspと入力すると、ファイルは正常に読み込まれます。DefaultDocumentが突然IIS7で動作しない
エラー情報:
モジュール:DefaultDocumentModule
通知:ExecuteRequestHandler
ハンドラ:StaticFileは
エラーコード:0x80070002が
ここに私のapplicationHost.configからのセクションです:
<system.webServer>
<asp>
<cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
</asp>
<defaultDocument enabled="true">
<files>
<clear />
<add value="Default.asp" />
<add value="Default.htm" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
<globalModules>
<add name="UriCacheModule" image="%windir%\System32\inetsrv\cachuri.dll" />
<add name="FileCacheModule" image="%windir%\System32\inetsrv\cachfile.dll" />
<add name="TokenCacheModule" image="%windir%\System32\inetsrv\cachtokn.dll" />
<add name="HttpCacheModule" image="%windir%\System32\inetsrv\cachhttp.dll" />
<add name="StaticCompressionModule" image="%windir%\System32\inetsrv\compstat.dll" />
<add name="DefaultDocumentModule" image="%windir%\System32\inetsrv\defdoc.dll" />
<add name="DirectoryListingModule" image="%windir%\System32\inetsrv\dirlist.dll" />
<add name="ProtocolSupportModule" image="%windir%\System32\inetsrv\protsup.dll" />
<add name="HttpRedirectionModule" image="%windir%\System32\inetsrv\redirect.dll" />
<add name="ServerSideIncludeModule" image="%windir%\System32\inetsrv\iis_ssi.dll" />
<add name="StaticFileModule" image="%windir%\System32\inetsrv\static.dll" />
<add name="AnonymousAuthenticationModule" image="%windir%\System32\inetsrv\authanon.dll" />
<add name="RequestFilteringModule" image="%windir%\System32\inetsrv\modrqflt.dll" />
<add name="CustomErrorModule" image="%windir%\System32\inetsrv\custerr.dll" />
<add name="HttpLoggingModule" image="%windir%\System32\inetsrv\loghttp.dll" />
<add name="RequestMonitorModule" image="%windir%\System32\inetsrv\iisreqs.dll" />
<add name="IsapiModule" image="%windir%\System32\inetsrv\isapi.dll" />
<add name="IsapiFilterModule" image="%windir%\System32\inetsrv\filter.dll" />
<add name="CgiModule" image="%windir%\System32\inetsrv\cgi.dll" />
<add name="FastCgiModule" image="%windir%\System32\inetsrv\iisfcgi.dll" />
<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
<add name="ConfigurationValidationModule" image="%windir%\System32\inetsrv\validcfg.dll" />
<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />
<add name="RewriteModule" image="%SystemRoot%\system32\inetsrv\rewrite.dll" />
<add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
<add name="WebDAVModule" image="%SystemRoot%\system32\inetsrv\webdav.dll" />
<add name="WindowsAuthenticationModule" image="%windir%\System32\inetsrv\authsspi.dll" />
</globalModules>
私はモジュールがディスク上に物理的に存在することも確認しました。私はこのサーバー上の変更を認識していないし、デフォルトのドキュメントは間違いなく昨日まで働いています。サーバーはWindows Server 2008 x64(IIS 7.0)です。
私はアプリケーションプールをリサイクルし、サーバーを起動し、削除してデフォルトのドキュメントに再入力しました。エラーは、デフォルトのドキュメントモジュールを見つけることができないように見えます。
他に何を試すことができますか?
プロセスモニタhttp://technet.microsoft.com/en-us/sysinternals/bb896645を実行してから、IISを再起動してページにアクセスしましたか?それはあなたが読んで失敗しようとしている正確な経路を示すはずです。 (あなたが知っているように見えるので、0x80070002 == ERROR_FILE_NOT_FOUND。) – Rup
私はプロセスモニターを見ていますが、そこにはたくさんのものがあります。私は何を見るべきか分かりません。あなたは私を助けることができます?私はプロセス名= "w3wp.exe"のフィルタを入れ、結果は "成功"ではありません。まだ1秒間に数百のヒットを得る。これは本番Webサーバー上にあります。操作をフィルタリングすべきか、制限する他の方法があるので、何を探すべきか分かっていますか? – Stephen
BTW - iisがすべてのリクエストの最後に\ web.configを追加するように見えますか?それは普通ですか?私はdefault.aspを使って移動しようとしているパスを見ていますが、そのページにアクセスする直前にdefault.asp \ web.configが試されます。すべてのファイルに対してこれを行い、PATH NOT FOUNDを返します。 – Stephen