错误500:将.net Core 6应用程序托管到Windows Server 2016上的IIS中

kyvafyod  于 2022-11-12  发布在  .NET
关注(0)|答案(1)|浏览(162)

在打开这张票之前,我在StackOverflow,YouTube等网站上读了几十个其他问题,但我发现所有的建议都不能解决我的问题。
我打算使用IIS在Windows Server 2016上托管一个.net core 6 web api。我已经成功托管了一个客户端站点(Angular),没有出现任何问题,但API总是给我一个500.19错误:

我已经配置了端口5041,但我已经尝试了其他端口,如80、8080,但没有成功。

我已经安装了Asp.Net核心运行时和宿主捆绑包:

这是我的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=".\EvoStats.API.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

我看到其他人解决了您的问题,他们将dotnet的完整路径放置在. NET中,我也这样做了,但在我的案例中没有解决

<aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" ...

我还将应用程序池配置为不使用.net CLR管理代码

我不知道我还能做些什么
谢谢你的帮助。

cu6pst1q

cu6pst1q1#

我已经解决了。
问题出在对wwwroot文件夹的访问权限上。有些奇怪,因为我有一个网站(Angular)在这个文件夹上工作,在给用户IIS_IUSRS完全控制之前。

希望这个解决方案对其他人有帮助。

相关问题