在IIS中默认会显示详细的错误信息,这可能暴露服务器内部信息,存在安全隐患。以下是关闭详细错误信息显示的安全配置方法:
打开IIS管理器
inetmgr
或通过服务器管理器打开配置错误页面
配置ASP.NET错误(可选)
在网站的web.config文件中添加或修改以下内容:
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx">
<error statusCode="404" redirect="~/404.aspx" />
</customErrors>
<compilation debug="false" />
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath="" path="/500.html" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
</configuration>
使用管理员权限运行以下命令:
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpErrors /errorMode:"DetailedLocalOnly" /commit:apphost
禁用详细错误信息
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/httpErrors /errorMode:"Custom" /commit:apphost
配置自定义错误页面
%windir%\system32\inetsrv\appcmd set config /section:httpErrors /+"[statusCode='500',subStatusCode='-1',prefixLanguageFilePath='',path='500.htm']"
debug
设置为false
通过以上配置,可以有效地防止敏感信息通过错误页面泄露,提高IIS服务器的安全性。