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

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日

相关文章

  • MySQL DATE_ADD和ADDDATE函数实现向日期添加指定时间间隔

    MySQL DATE_ADD和ADDDATE函数可以帮助我们在指定日期上添加时间间隔,这样我们可以很方便地进行日期计算。下面我会详细介绍这两个函数的使用方法及示例。 DATE_ADD函数 DATE_ADD函数可以用于在指定日期上添加时间间隔。它的基本语法如下: DATE_ADD(date, INTERVAL expr unit) 其中,date是一个日期或日…

    database 2023年5月22日
    00
  • 在虚拟机中如何配置Linux系统网络环境?

    在虚拟机中配置Linux系统网络环境,需要进行以下几个步骤: 步骤一:设置网络连接方式 虚拟机网络连接方式可以选择桥接模式、NAT模式、仅主机模式等,不同的模式具有不同的应用场景和优缺点。在本次攻略中,我们以NAT模式为例进行讲解。 打开虚拟机,进入虚拟机设置中心。 点击“网络适配器”选项卡,在网络连接方式下拉框中选中“NAT模式”。 点击“高级”按钮,在“…

    database 2023年5月22日
    00
  • MySQL修改存储过程(ALTER PROCEDURE)方法详解

    MySQL的ALTER PROCEDURE语句可以用于修改已经存在的存储过程。修改存储过程通常包括修改存储过程的名称、参数、注释、以及存储过程中的SQL语句等。 ALTER PROCEDURE的语法如下: ALTER PROCEDURE procedure_name [characteristic …] 其中procedure_name为要修改的存储过程…

    MySQL 2023年3月10日
    00
  • MySQL数据类型和常用字段属性总结

    MySQL中的数据类型大的方面来分,可以分为:日期和时间、数值,以及字符串。下面就分开来进行总结。 日期和时间数据类型 MySQL数据类型含义 date3字节,日期,格式:2014-09-18 time3字节,时间,格式:08:42:30 datetime8字节,日期时间,格式:2014-09-18 08:42:30 timestamp4字节,自动存储记录修…

    MySQL 2023年4月13日
    00
  • 基于MYSQL中优化的一些方法

    基于MYSQL中优化的一些方法 MySQL是一款非常经典的关系型数据库管理系统,但当数据库规模不断扩大或者数据量变得庞大时,MySQL的性能将面临较大挑战,因此需要对MySQL进行一些优化操作以提高性能。 1. 使用索引优化查询 MySQL的查询操作是数据库中最常用的操作之一,所以对查询进行优化可以明显提高MySQL的性能。索引是MySQL中优化查询性能最重…

    database 2023年5月22日
    00
  • MySql中的存储引擎和索引

    MySQL中的存储引擎和索引是提高MySQL数据库性能的关键因素之一。以下是MySQL存储引擎和索引的完整攻略。 一、存储引擎 存储引擎是MySQL中负责数据存储和读写的底层组件。MySQL支持多种存储引擎,不同的存储引擎具有不同的特点和适用场景。下面介绍几种常见的存储引擎: 1. InnoDB InnoDB是MySQL默认的事务性存储引擎,支持事务和行锁定…

    database 2023年5月19日
    00
  • spring声明式事务 @Transactional 不回滚的多种情况以及解决方案

    下面我将详细讲解“spring声明式事务 @Transactional 不回滚的多种情况以及解决方案”。 一、@Transactional不回滚的多种情况 1.1 默认回滚规则 默认情况下,Spring会对所有运行时异常进行回滚。也就是说,只有在方法中抛出RuntimeException及其子类异常时,才会导致事务回滚。 对于受检异常(即继承自Excepti…

    database 2023年5月21日
    00
  • Sql Server中通过sql命令获取cpu占用及产生锁的sql

    获取 Sql Server 中 CPU 占用及产生锁的 SQL 通常需要通过观察系统状态和运行 SQL 的表现来进行,下面将介绍通过 SQL 命令来实现这一目标的完整攻略。 查找 CPU 占用 查询系统进程 可以使用以下的 SQL 命令查询 Sql Server 的相关进程信息,从而获得 CPU 占用情况: SELECT * FROM sys.sysproc…

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