HTTP 错误 500.19- Internal Server Error 错误解决方法

yizhihongxing

HTTP 错误 500.19- Internal Server Error 是一种常见的服务器错误,在开发和管理网站时可能会遇到。该错误通常表示 IIS 配置文件中有一些问题,服务器无法对请求做出正确响应导致的。以下是解决该问题的完整攻略:

1. 确定错误类型

首先,需要确定出现的 500.19 错误的具体类型,以便知道该如何修复它。主要有三种类型:

  • 错误代码 0x80070021 —— 该程序集无法加载
  • 错误代码 0x8007000d —— 配置文件是破损的
  • 错误代码 0x80070005 —— 拒绝访问

在 IIS 管理器的“详细错误”中能够看到这些错误代码。

2. 确认应用程序池

应用程序池是处理 Web 应用程序请求的进程。IIS 支持在同一服务器上运行多个应用程序池,每个应用程序池都可包含一个或多个 Web 应用程序。请确认访问的 Web 应用程序的应用程序池已启动。如果停止应用程序池,请右键单击应用程序池并选择“启动”。

3. 检查文件权限

确认 Web 应用程序的文件夹和文件的权限设置正确。特别是要确认 App_Data 和 LogFiles 文件夹具有足够的权限,应将“修改”权限授予 IIS_IUSRS。

4. 修改 Applicationhost.config

有时候,错误可能是由于 IIS 配置文件错误导致的。可以编辑 %windir%\System32\inetsrv\config 下的 Applicationhost.config 文件。首先应对文件进行备份,然后尝试进行以下更改:

<sectionGroup name="system.webServer" requestTimeout="00:00:00" type="System.WebServer.Configuration.SystemWebServerSectionGroup, System.WebServer, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <section name="asp" overrideModeDefault="Deny" allowDefinition="MachineToApplication" />
    <section name="netFramework" overrideModeDefault="Deny" />
    <section name="handlers" overrideModeDefault="Deny" />
    <section name="security" overrideModeDefault="Deny" />
    <section name="serverRuntime" overrideModeDefault="Deny" />
    <section name="httpErrors" overrideModeDefault="Deny" />
    <section name="httpLogging" overrideModeDefault="Deny" />
    <section name="dynamicIpSecurity" overrideModeDefault="Deny" />
</sectionGroup>

需要修改为:

<sectionGroup name="system.webServer" requestTimeout="00:00:00" type="System.WebServer.Configuration.SystemWebServerSectionGroup, System.WebServer, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <section name="asp" overrideModeDefault="Allow" allowDefinition="MachineToApplication" />
    <section name="netFramework" overrideModeDefault="Allow" />
    <section name="handlers" overrideModeDefault="Allow" />
    <section name="security" overrideModeDefault="Allow" />
    <section name="serverRuntime" overrideModeDefault="Allow" />
    <section name="httpErrors" overrideModeDefault="Allow" />
    <section name="httpLogging" overrideModeDefault="Allow" />
    <section name="dynamicIpSecurity" overrideModeDefault="Allow" />
</sectionGroup>

示例1

假设我们在运行 ASP.NET 应用程序时遇到了下面的错误:

HTTP 错误 500.19 - 内部服务器错误
无法读取配置文件
h:\webapp\web.config
的信息,因为它与下面的某个配置节不能共存:
'directoryBrowse'

这里指定了错误代码:0x8007000d,表示 Web.config 文件出现了问题,不允许某些配置部分同时存在。在这种情况下,解决方法是找到重复的节点,并将其删除。

<location path="one">
   <system.webServer>
      <directoryBrowse enabled="false" />
   </system.webServer>
</location>
<location path="two">
   <system.webServer>
      <directoryBrowse enabled="true" />
   </system.webServer>
</location>

比如,上面的 Web.config 文件包含了两个路径("one" 和 "two"),并且为两个位置的 directoryBrowse 指定了不同的值。如果想要修复该错误,只需要将一个节点删除就好了。

示例2

假设我们在运行 ASP.NET 应用程序时遇到了下面的错误:

HTTP 错误 500.19 - 内部服务器错误
无法读取配置文件
h:\webapp\web.config
的信息,因为这个配置文件有一个不正确的元素
'configsections'。

这里指定了错误代码:0x8007003a,表示 Web.config 文件出现了问题,其中 configsections 元素不被识别。要解决这个问题,需要确认 configsections 元素的命名空间是正确的。如果命名空间错误,需要将其更正为以下内容:

<configSections>
  <sectionGroup name="system.web">
    <section name="authorization" type="System.Web.Configuration.AuthorizationSection, 
System.Web, version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
               allowDefinition="MachineToApplication"/>
  </sectionGroup>
</configSections>

此时,需要添加 system.web 命名空间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTTP 错误 500.19- Internal Server Error 错误解决方法 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • CI框架出现mysql数据库连接资源无法释放的解决方法

    下面是详细讲解“CI框架出现mysql数据库连接资源无法释放的解决方法”的完整攻略。 根本原因分析 在CI框架中,如果不手动关闭数据库连接的话,连接会一直保持,不会自动关闭,这就会导致出现mysql数据库连接资源无法释放的问题。 解决方法 解决这个问题的方法,是手动关闭数据库连接,释放连接资源。我们可以通过在CI的model文件中,覆盖父类的数据库连接关闭方…

    database 2023年5月19日
    00
  • 详解分析MySQL8.0的内存消耗

    详解分析MySQL8.0的内存消耗 MySQL是使用内存进行数据缓存的关系型数据库系统。在使用MySQL时,我们需要了解MySQL的内存消耗,以便正确地配置服务器并优化性能。 MySQL 8.0的内存使用情况 MySQL 8.0改动了内存使用的方式,现在默认情况下InnoDB缓存是分配在全局映射区域(global mmap),而不再是传统的堆分配方式。 以下…

    database 2023年5月22日
    00
  • Mybatis传list参数调用oracle存储过程的解决方法

    针对“Mybatis传list参数调用oracle存储过程的解决方法”,本文将为您提供完整的解决方案,以下是具体步骤。 第一步:编写oracle存储过程 在oracle数据库中编写一个带有IN和OUT参数的存储过程,其中IN参数为待传递的list,OUT参数为需要返回的结果。存储过程如下: CREATE OR REPLACE PROCEDURE PROCED…

    database 2023年5月21日
    00
  • 使用 Binlog 和 Canal 从 MySQL 抽取数据

    转载自: https://blog.csdn.net/zjerryj/article/details/77152226   技术点: Apache Sqoop Ali Canal https://github.com/alibaba/canal Hive 0.14 支持 insert update delete , 2.0 后支持 Streaming Mut…

    MySQL 2023年4月16日
    00
  • linux环境中常用的mysql命令介绍

    下面是“linux环境中常用的mysql命令介绍”的完整攻略: 1. 登录Mysql 在Linux中,可以通过以下命令登录到Mysql: mysql -h hostname -P port -u username -p hostname:Mysql服务器的主机名或IP地址; port:Mysql服务器的端口号,默认为3306; username:登录Mysq…

    database 2023年5月22日
    00
  • AlaSQL和Altibase的区别

    首先,需要明确 AlaSQL 和 Altibase 的本质差异,这两者都是为了解决数据处理和管理的问题,但具体的解决方案和技术实现方式略有不同。接下来,我们将分别介绍这两个解决方案的特点和使用场景。 AlaSQL 什么是 AlaSQL? AlaSQL 是一个 JavaScript 轻量级数据库,支持 SQL 查询和筛选数据等功能。它既可以在客户端的浏览器环境…

    database 2023年3月27日
    00
  • Mysql数据库错误代码中文详细说明

    下面是详细讲解“Mysql数据库错误代码中文详细说明”的完整攻略。 简介 MySQL是一款开源的关系型数据库管理系统,被广泛应用于Web应用程序的开发中。在使用过程中难免会遇到各种各样的错误,Mysql为开发者提供了丰富的错误代码以方便开发者快速定位错误,本文将详细介绍Mysql数据库错误代码中文详细说明。 错误代码说明 Mysql中的错误代码分为多个类型,…

    database 2023年5月21日
    00
  • ThinkPHP CURD方法之where方法详解

    ThinkPHP CRUD方法之where方法详解 在ThinkPHP中,CURD是指Create、Update、Read、Delete,即对数据进行添加、更新、读取和删除的操作。其中,where方法是在进行数据读取时,用于设置查询条件的重要方法。 where方法的使用 在ThinkPHP中,where方法可以用于设置查询条件,示例如下: $users = …

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部