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

我在 IIS 7 上运行经典 ASP。

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

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

有什么想法吗?

【问题讨论】:

    标签: iis asp-classic iis-7 iis-7.5


    【解决方案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】:

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

        【讨论】:

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

        如果您在共享环境中托管项目,则可以使用以下 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

        希望对某人有所帮助

        【讨论】:

          【解决方案7】:

          我刚刚安装在新服务器 (Windows 2019) 上的 ASP Classic 应用程序出现 500 错误。无论如何,应用程序上的每个 URL 都返回 500。但是 Windows 事件日志中没有显示任何错误,尽管配置了详细的错误,正如这里的其他几个答案中提到的那样,浏览器中没有显示特定的错误。

          唯一的线索是在 IIS 日志中,显示 HTTP 状态代码为 500,而 IIS substatus 代码为 19。所以是 500.19 错误。

          这让我 本节的第二部分回答了我遇到的具体问题:

          https://docs.microsoft.com/en-us/troubleshoot/iis/http-error-500-19-webpage#hresult-code-0x80070005

          上面写着:

          不要将网站配置为使用 UNC 直通身份验证 访问远程 UNC 共享。相反,请指定一个具有 访问远程 UNC 共享的适当权限。

          并且(这是我需要做的部分):

          为 IIS_IUSRS 组授予读取权限 ApplicationHost.config 或 Web.config 文件。要做到这一点,请按照这些 步骤:

          在 Windows 资源管理器中,找到包含 与网站关联的 ApplicationHost.config 文件,或 找到虚拟目录或应用程序目录 包含与网站关联的 Web.config 文件。

          注意

          Web.config 文件可能不在虚拟目录中或 IIS 中的应用程序目录。即使在这种情况下,你也必须 请按照以下步骤操作。

          右键单击包含 ApplicationHost.config 文件的文件夹, 或右键单击可能包含的虚拟或应用程序目录 Web.config 文件。

          选择属性。

          选择“安全”选项卡,然后选择“编辑”。

          选择添加。

          在“输入要选择的对象名称”框中,键入 \IIS_IUSRS,选择检查名称,然后选择确定。

          注意

          是计算机名称的占位符。

          选中读取复选框,然后选择确定。

          在文件夹的“属性”对话框中,选择“确定”。

          注意

          确保文件夹属性由 ApplicationHost.config 和 Web.config 文件,以便 IIS_IUSRS 具有 这些文件的读取权限。

          【讨论】:

            猜你喜欢
            • 2011-03-09
            • 2011-05-08
            • 2012-06-13
            • 2016-05-30
            • 2015-08-16
            • 1970-01-01
            • 2011-12-01
            • 1970-01-01
            相关资源
            最近更新 更多