egi*_*ocs 183 error-handling asp-classic iis-7.5
IIS 7.5,2008rc2,经典asp,500错误消息:
由于发生内部服务器错误,无法显示页面.
我需要知道如何配置IIS以获得更详细的错误.
我已经尝试在ASP配置中设置为true所有调试选项.
但那没用.谁能帮我?
Vac*_*ias 225
我遇到了同样的问题,并以与Alex K相同的方式修复.
因此,如果"将错误发送到浏览器"不能正常工作,那么:
错误页面 - > 500 - >编辑功能设置 - >"详细错误"

另请注意,如果发回的错误页面的内容非常短并且您正在使用IE,IE将很乐意忽略服务器发回的有用内容,并向您显示其自己的通用错误页面.您可以在IE的选项中关闭它,或使用其他浏览器.
小智 91
如果您在远程服务器上,则可以配置web.config文件,如下所示:
<configuration>
<system.webServer>
<httpErrors errorMode="Detailed" />
<asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)
Ale*_* K. 47
在IIS管理员的站点主屏幕中双击"ASP",展开"调试属性",启用"向浏览器发送错误",然后单击"应用".
在主屏幕上的"错误页面"下选择"500",然后选择"编辑功能设置"并选择"详细错误".
请注意,相同的步骤适用于IIS 8.0(Windows Server 2012).
小智 20
在web.config下
<system.webServer>
Run Code Online (Sandbox Code Playgroud)
替换(或添加)该行
<httpErrors errorMode="Detailed"></httpErrors>
Run Code Online (Sandbox Code Playgroud)
同
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
Run Code Online (Sandbox Code Playgroud)
这是因为默认情况下,IIS7拦截HTTP状态代码,例如由管道上的应用程序生成的4xx和5xx.
接下来,在"ASP"部分下启用" 将错误发送到浏览器 ",在" 错误页面/编辑功能设置 "下,选择"详细错误".
此外,将网站文件夹的写权限授予IIS_IUSRS内置组.
b_l*_*itt 17
TLDR:首先确定你从哪个管道中得到错误(滚动查找类似于你的错误的屏幕截图),进行更改以获得新的东西,重复.
如果您看到此处的文件...
的%SystemDrive%\的Inetpub\custerr \\ 500.htm
......通常看起来像这样:
...然后你知道你在**IIS**中看到当前配置的错误页面,你不需要更改customErrors设置,asp错误详细设置或"show friendly http errors"浏览器设置.
您可能希望查看上面引用的路径,而不是信任我的屏幕截图,以防万一有人更改它.
在这种情况下,您将看到< httpErrors > 的设置,或者在IIS管理器中看到错误页面 - >编辑功能设置.默认设置是服务器节点级别的 errorMode = DetailedLocalOnly (而不是站点级别),这意味着虽然您将在远程时看到此配置的错误页面,但您应该能够在本地登录到服务器并查看完整错误应该看起来像这样:
您应该拥有此时需要的所有内容来修复当前错误.
这留下了几种可能性.
将您网站的httpErrors更改为"详细",以便远程查看.但如果它不起作用,您的错误可能已经是配置错误,请参见上面的#3.所以你可能会被#4困住,而你需要服务器团队中的某个人.
......你希望看到这样的东西......
...然后你需要在IIS管理器中的"站点 - > IIS - > ASP - >调试属性"下更改"将错误发送到浏览器"为true
或这个...
...您需要在浏览器中禁用友好错误或使用fiddler的webview查看实际响应与浏览器选择向您显示的内容.
如果你看到这个......
...然后自定义错误正在运行但你没有自定义错误页面(当然此时正在谈论.net而不是经典的asp).您需要将web.config中的customErrors标记更改为RemoteOnly以在服务器上查看,或者Off以远程查看.
如果你看到像你的网站样式的东西,那么自定义错误可能是On或RemoteOnly并且它显示自定义页面(例如,MVC中的Views-> Shared-> Error.cshtml).也就是说,有可能有人在IIS中为httpErrors更改了页面,所以请看第一部分.
尝试将"existingResponse"httpErrors属性的值设置为"PassThrough".我的设置为"替换",导致YSOD无法显示.
<httpErrors errorMode="Detailed" existingResponse="PassThrough">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308482 次 |
| 最近记录: |