IIS7 上的经典 ASP:拒绝在 500 Internal Server Error 上向浏览器发送错误

Posted

技术标签:

【中文标题】IIS7 上的经典 ASP:拒绝在 500 Internal Server Error 上向浏览器发送错误【英文标题】:Classic ASP on IIS7: refusing to send errors to browser on 500 Internal Server Error 【发布时间】:2010-11-30 00:59:02 【问题描述】:

我在 IIS 7 上运行经典 ASP。

即使我将 ASP“调试属性”配置为“向浏览器发送错误 = True”,Web 应用程序仍拒绝向浏览器发送错误并继续发送 500 内部服务器错误。

我的浏览器未选中“显示友好的 HTTP 错误消息”。 已安装失败的请求跟踪(不确定是否相关) 发生在服务器本地和远程加载的网页上 应用程序池已集成(不确定是否重要)

有什么想法吗?

【问题讨论】:

【参考方案1】:

尝试: Internet 信息服务 (IIS) 管理器 —> 默认网站 —> 单击错误页面属性并选择详细错误

【讨论】:

我还必须将我的虚拟目录转换为应用程序【参考方案2】:

我在站点子文件夹中运行的 Classic ASP 应用程序遇到了同样的问题。我启用了详细错误,但 500 仍在显示。我的解决方案是在 IIS 的 ASP 部分中为站点启用父路径,因为应用程序使用“../”引用父文件夹:

【讨论】:

我总是忘记这个。在必须启动一个新的经典 ASP 站点和 BAM 之间已经过去了很多年!奇怪的 500 错误。这通常是问题所在。【参考方案3】:

我在站点的 子文件夹 中运行的 Classic ASP 应用程序上发生了这种情况。解决方案是:

IIS > Click into your Site > Click into your Application folder > Error Pages > Edit Feature Settings > set to: Detailed Errors

【讨论】:

【参考方案4】:

IIS 管理器>> 双击ASP 图标打开ASP 页面。展开 Debugging Properties 节点并将 Send Errors To Browser 设置为 True

参考:http://www.chestysoft.com/asp-error-messages.asp

【讨论】:

【参考方案5】:

如果您在共享环境中托管项目,则可以使用以下 sn-p 查看错误。

<configuration>
<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>
<system.web>
    <customErrors mode="Off" />
    <compilation debug="true" />
</system.web>

完整信息请参考此网址http://blogs.iis.net/rickbarber/working-past-500-internal-server-error

希望对某人有所帮助

【讨论】:

【参考方案6】:

如果您的网站配置为以特定用户身份连接到网站的物理路径,而不是使用直通身份验证,则如果该用户出现权限错误,您可能会收到此错误。可能还需要重新启动 Windows Process Activation Service,然后重新启动 IIS。

【讨论】:

这是我的大概情况:500 错误,在任何日志文件中都没有显示任何内容。但是 IIS 进程无法打开物理路径(它在我的主目录中,并且 IIS 使用的是 pass-through auth)。 就是这样。我们有一个返回错误 500 的 Web 服务。权限已被删除到应用程序文件夹。一旦我向“每个人”授予读取权限,它就开始工作了。谢谢。

以上是关于IIS7 上的经典 ASP:拒绝在 500 Internal Server Error 上向浏览器发送错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在经典模式下保护 IIS7 上的静态内容?

500错误信息详解,ASP+IIS 7.5

经典 ASP 给出内部服务器错误 500

IIS集成和经典配置

IIS7 上的 ASP Classic 无法创建 COM 对象

在 IIS7 中托管 ASP.NET 会导致访问被拒绝?