iis 部署webapi 记录 500.19 及500.21 错误

HTTP 错误 500.19 - Internal Server Error

错误代码0x80070021
配置错误不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

出现这个错误是因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。

如果handlers是错误信息中红字显示的节点名称,要取消锁定可以运行命令行 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。

如果modules也被锁定,可以运行%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules。

还有另外一种情况可以导致以上错误:

在安装IIS7的时候一定记得勾选Asp.net,默认不选,也会出现类似的错误信息。

uploading.4e448015.gif正在上传…重新上传取消

另其他类似错误二HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效。

错误代码 0x80070005

配置错误 由于权限不足而无法读取配置文件原文件夹

右击选择它的属性,打开“安全”选项卡,看到“组或用户名”,单击“编辑”按钮添加一个新的用户名“Everyone”,然后更改它的权限,将第二个权限“修改”设置为允许就可以了。

 

解決方案]IIS配置后报错500.21

如果报错这个信息,那么就是aspnet未注册造成的,需要安装一下

步骤:

1.打开CMD

2.输入cd %windir%\Microsoft.Net\Framework\v4.0.30319

3.执行命令aspnet_regiis.exe -i

执行结果如图:

再去访问就OK了

 

转自https://www.cnblogs.com/Fly-sky/p/IIS500Error.html

https://www.cnblogs.com/zhao365845726/p/11525700.html

### 解决方案:IIS上ASP.NET Core Web API HTTP Error 500.19 #### 一、理解错误原因 HTTP 错误 500.19 表明 IIS 无法解析 `web.config` 文件中的 XML 配置节点 `aspNetCore`,这通常是因为缺少必要的组件或配置不正确[^1]。 #### 二、检查并安装必要组件 确保已安装适用于当前操作系统的 .NET Core Hosting Bundle。此包包含了运行 ASP.NET Core 应用所需的全部依赖项以及 AspNetCore 模块。可以通过以下链接下载最新版本的 hosting bundle: https://dotnet.microsoft.com/download/dotnet-core (具体路径取决于操作系统) #### 三、验证应用程序池设置 确认应用池的身份具有足够的权限来读取 web.config 文件及其目录结构。另外,对于托管模式,请选择“无托管代码”,而不是默认的“.NET CLR 版本 v4.0”。 #### 四、审查Web.Config文件 仔细查看 web.config 文件的内容,特别是 `<handlers>` 和 `<modules>` 节点下的条目。常见的问题是拼写错误或者是与实际部署环境不符的参数值。例如,在某些情况下可能需要调整 processPath 属性指向正确的 dotnet.exe 或者 publish 输出路径。 ```xml <configuration> ... <system.webServer> <handlers> <!-- 确认此处定义了 aspNetCore handler --> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/> </handlers> <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"> <!-- 如果使用的是较新的 SDK/CLI 创建的应用,则应改为 AspNetCoreModuleV2 --> <environmentVariables /> </aspNetCore> </system.webServer> </configuration> ``` #### 五、启用详细的错误消息显示 为了更方便地诊断问题所在,可以在开发环境中临时开启详细的错误信息展示功能。编辑 applicationHost.config 文件(位于 C:\Windows\System32\inetsrv\config),找到对应的站点部分并将 `httpErrors` 设置为 `DetailedLocalOnly=false` 并重启服务器。 #### 六、日志记录分析 如果上述方法仍未能解决问题,建议打开标准输出流的日志记录(`stdoutLogEnabled=true`),以便获取更多有关启动失败的信息。这些日志可以帮助识别是否存在其他潜在的问题,比如依赖库缺失等。 通过以上措施应该能够有效解决大部分由配置引起的 500.19 错误情况。当然,具体情况还需要根据实际情况灵活处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值