HCRM博客

IIS 报错怎么办?解决方法与排查指南

IIS(Internet Information Services)是微软提供的一种Web服务,用于在Windows Server上托管网站和应用程序,在使用IIS过程中,用户可能会遇到各种报错信息,本文将详细解析常见的IIS报错问题及其解决方案,并提供相关FAQs供参考。

IIS常见报错及解决方法

1. HTTP 500 内部服务器错误

IIS 报错怎么办?解决方法与排查指南-图1
(图片来源网络,侵权删除)

问题描述:

当访问部署在Windows实例上的基于IIS搭建的Web网站时,提示“500 内部服务器错误”,该提示没有提供具体的错误项,给排查问题带来困难。

原因分析:

这种错误通常是由于ASP或ASPX页面包含语法错误,或者无法读取Web服务器配置或应用程序配置,导致配置无效。

解决方案:

1、查看详细错误信息:

IIS 报错怎么办?解决方法与排查指南-图2
(图片来源网络,侵权删除)

远程连接并登录到Windows实例。

打开IIS管理器。

选择目标站点,双击“错误页”文件。

在右侧操作栏中单击“编辑功能设置”,选择“详细错误”,然后单击“确定”。

重新访问网站,按Ctrl+F5键强制刷新浏览器缓存,即可看到真实报错信息。

2、检查web.config文件:

IIS 报错怎么办?解决方法与排查指南-图3
(图片来源网络,侵权删除)

确保web.config文件格式正确,没有语法错误。

      <?xml version="1.0" encoding="utf8"?>
      <configuration>
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\SNMS.Services.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
        </system.webServer>
      </configuration>

如果格式不正确,修正后重启IIS。

3、安装必要的模块:

确保已安装与网站运行环境相匹配的模块,如果使用的是.NET 5.0.4版本,需要下载并安装对应版本的Hosting Bundle。

2. HTTP 500.19 Internal Server Error

问题描述:

访问部署在IIS上的网站时,提示“HTTP 错误 500.19 Internal Server Error”,无法访问请求的页面,因为该页的相关配置数据无效。

原因分析:

此错误通常由配置文件中的锁定设置引起,当父级配置被锁定时,子级配置无法覆盖这些设置。

解决方案:

1、检查web.config文件:

确保web.config文件中的配置段未被锁定,确认以下配置段是否在正确的位置:

      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\SNMS.Services.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
        </system.webServer>
      </location>

2、安装URL Rewrite模块:

如果网站使用了URL重写功能,确保已安装URL Rewrite模块,以管理员身份运行安装程序后,执行以下命令重启IIS:

      RestartService DisplayName "IIS"

3. HTTP 403.14 Forbidden

问题描述:

访问基于IIS搭建的网站时,提示“403.14 Forbidden:Web服务器被配置为不列出此目录的内容”。

原因分析:

此错误通常由以下原因引起:

1、没有为请求的URL配置默认文档。

2、没有启用目录浏览。

解决方案:

1、配置默认文档:

打开IIS管理器。

选择目标网站,双击“默认文档”。

确保已配置默认文档,如index.html或Default.aspx,并将其上移到第一位。

2、启用目录浏览:

打开IIS管理器。

选择目标网站,双击“目录浏览”。

在右侧操作栏中启用“目录浏览”。

4. 端口被占用导致无法访问

问题描述:

访问基于IIS配置的网站失败,但使用netstat命令查看IIS服务端口处于正常监听状态。

原因分析:

其他程序占用了IIS服务端口,导致无法正常访问网站。

解决方案:

1、查找并终止占用端口的程序:

打开命令提示符,执行以下命令查找占用80端口的进程:

      netstat ano | findstr 80

根据PID号终止相应的进程,如果PID为4,则执行:

      taskkill /PID 4

重启IIS服务。

相关FAQs

Q1: 如何修改IIS网站的默认文档?

A1: 打开IIS管理器,选择目标网站,双击“默认文档”,确保已配置默认文档,如index.html或Default.aspx,并将其上移到第一位。

Q2: 如何查看IIS服务的详细错误信息?

A2: 远程连接并登录到Windows实例,打开IIS管理器,选择目标站点,双击“错误页”文件,在右侧操作栏中单击“编辑功能设置”,选择“详细错误”,然后单击“确定”,重新访问网站,按Ctrl+F5键强制刷新浏览器缓存,即可看到详细错误信息。

通过以上步骤和方法,用户可以有效地解决IIS常见的报错问题,提高网站的稳定性和安全性。

分享:
扫描分享到社交APP
上一篇
下一篇