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^)\\~

目录
相关文章
|
7月前
|
网络安全 开发者
如何解决HTTPS协议在WordPress升级后对网站不兼容的问题
以上就是解决WordPress升级后HTTPS协议对网站的不兼容问题的方法。希望能把这个棘手的问题看成是学校的管理问题一样来应对,将复杂的技术问题变得更加有趣和形象,并寻觅出解决问题的方式。希望你的网站能在新的学期得到更好的发展!
214 19
|
Ubuntu Linux iOS开发
问题./configure: error: the HTTP gzip module requires the zlib library.处理
问题./configure: error: the HTTP gzip module requires the zlib library.处理
2108 6
|
12月前
|
数据采集 网络安全 Python
【Python】怎么解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
解决 `urllib.error.HTTPError: HTTP Error 403: Forbidden`错误需要根据具体情况进行不同的尝试。通过检查URL、模拟浏览器请求、使用代理服务器和Cookies、减慢请求速度、使用随机的User-Agent以及使用更加方便的 `requests`库,可以有效解决此类问题。通过逐步分析和调试,可以找到最合适的解决方案。
889 18
|
数据采集 数据安全/隐私保护 Python
【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden
通过上述方法,可以有效解决 `urllib.error.HTTPError: HTTP Error 403: Forbidden` 错误。具体选择哪种方法取决于服务器对请求的限制。通常情况下,添加用户代理和模拟浏览器请求是最常见且有效的解决方案。
699 10
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
2177 4
|
存储 安全 搜索推荐
应该使用HTTPS的一些网站
应该使用HTTPS的一些网站
635 3
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
178 4
|
安全 应用服务中间件 Shell
网站在后台启用了https协议之后重新登录就不进去后台的解决方法
网站在后台启用了https协议之后重新登录就不进去后台的解决方法
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
最近在线上往hbase导数据,因为hbase写入能力比较强,没有太在意写的问题。让业务方进行历史数据的导入操作,中间发现一个问题,写入速度太快,并且业务数据集中到其中一个region,这个region无法split掉,处于不可用状态。
1495 0