IIS10 部署网站报【HTTP 错误 500.19 - Internal Server Error】的解决办法

简介: 原有的 web 发布文件是可以正常部署 IIS10 上面运行的,由于本地电脑环境迁移,重新换了一个宿主机部署 IIS10,网站运行提示如下信息:HTTP 错误 `500.19 - Internal Server Error` 无法访问请求的页面,因为该页的相关配置数据无效。详细错误信息:模块 `IIS Web Core` 通知 `未知 处理程序 尚未确定 错误...

今天迁移 web 服务突然遇到一个 Error 问题,但原有的 web 发布文件是可以正常部署 IIS10 上面运行的,这是啥情况呢?顺便把解决该问题的全过程整理出来,分享给更多遇到类似情况的小伙伴。

由于本地电脑环境迁移,重新换了一个宿主机部署 IIS10,网站运行提示如下信息:

image.png

HTTP 错误 500.19 - Internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

详细错误信息:

模块 IIS Web Core
通知 未知
处理程序 尚未确定
错误代码 0x8007000d
配置错误
配置文件 \\?\E:\IISPublishFiles\sws-snms-service\web.config

为了证实原有 web 正常运行,此处使用 dotnet self-hosted 自宿主模式运行,保留个截图~///(^v^)\\~

image.png

原因分析及解决方案 =》IIS 网页中INTERNET INFORMATION SERVICES (HTTP) 500.19 - Internet Information Services | Microsoft Docs

image.png

按照上面提供的解决方案排查,检查发布文件中的 web.config 格式正常,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <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>
</configuration>
<!--ProjectGuid: 19ca8b58-6aba-47c6-82f9-cde1e1fa2c9c-->

接下来就继续安装相关的 IIS URL 重写模型 / URL Rewrite =》 URL Rewrite : The Official Microsoft IIS Site

image.png

下载该文件后以管理员身份运行安装,如下所示:

image.png

image.png

image.png

等待安装完成

image.png

单击完成,然后以管理员身份运行 PowerShell ,执行如下命令,重启 IIS

image.png

【URL 重写】模块已成在 `IIS` 中安装,再次尝试运行(部署的)web服务,结果还是出现相同的错误信息,有点郁闷,经过排查,最终发现是 `IIS` 的【模块】没有安装(开发调试正常就搞忘记了😭),由于部署的是 `.net 5.0.4` 版本,选择对应版本下载安装,此处是 `v5.0.4` 的 Hosting Bundle =》Download .NET 5.0 (Linux, macOS, and Windows) (microsoft.com)

image.png

安装完成后显示如下,注意这里一定要对应好版本安装,版本不对可能会失败,如下所示:

image.png

接下来使用 dotnet --info 命令查看安装的信息,再次重启 IIS,如下所示:

image.png

最后运行 web 服务,可以正常运行啦,如下所示:

image.png

以上就是整个过程的处理方案,希望能帮助到更多的小伙伴 ~///(^v^)\\~

目录
相关文章
|
4月前
|
监控 开发者 Perl
perl use HTTP::Server::Simple 轻量级 http server
使用 **HTTP::Server::Simple** 模块,Perl 开发者可以快速创建和配置一个轻量级的HTTP服务器。通过继承和扩展 `handle_request` 方法,可以实现复杂的请求处理逻辑。结合日志记录功能,可以更好地监控服务器运行情况。无论是用于开发测试还是简单的生产环境应用,这种轻量级解决方案都能提供很好的支持。
94 2
|
7月前
|
Web App开发 缓存 JSON
在打开网站时,HTTP请求流程是如何处理的
【8月更文挑战第20天】流程包括:构建请求(如`GET /index.html HTTP/1.1`)、检查本地缓存、获取服务器IP及端口、等待TCP连接队列、建立TCP连接、发送HTTP请求。服务器处理后返回数据与响应头,可选择保持连接开启以便后续请求重用,最后断开TCP连接。
|
7月前
|
缓存 运维 Serverless
函数计算产品使用问题之怎么优化HTTP Server的启动速度
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7月前
|
Python
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
【Azure 应用服务】Azure Function HTTP Trigger 遇见奇妙的500 Internal Server Error: Failed to forward request to http://169.254.130.x
|
6月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
3月前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
216 3
|
4月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
103 11
|
4月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
118 8
|
4月前
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
476 4
|
5月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
380 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术