.NET 6 Web API、IIS 10、403.14 - 禁止

问题描述 投票:0回答:1

我正在尝试在 Windows Server 2019 上的 IIS 上部署我的 .NET 6 Web API。最终目标是仅在该服务器上的 localhost:port/swagger 上调用我的 API(而不是从外部)。 这是我到目前为止所拥有的:

  1. 使用以下命令发布 API:
    dotnet publish --configuration Release
  2. 我安装了 Microsoft .NET 6.0.14 - Windows Server 托管
  3. 我在 IIS 中添加了一个新站点,并将物理路径指向粘贴已发布输出的文件夹:
  4. 配置绑定如下:

当我单击“浏览”时,它会将我带到 URL localhost:8080,并收到以下错误消息:

如果我尝试输入 localhost:8080/swagger,我会得到一个 404,如果我输入 localhost:8080/mycontroller/mygetaction,我也会得到一个 404。

我浏览了 Stackoverflow 上的多篇帖子,并尝试了所有适合我的情况的答案,但没有任何运气。

我注意到,在我网站的基本设置中,如果我点击“测试设置”,我会收到以下警告:

但是,如果我查看文件夹安全性,我会发现 IIS 用户具有对该文件夹的读取和执行访问权限:

我在这里缺少什么?

localhost hosting .net-6.0 iis-10 windows-server-2019
1个回答
0
投票

http 403.14 表示不允许列出目录内容。当您的服务器不知道要呈现什么时,通常会发生这种情况。看起来您的应用程序配置不正确,因此您的网络服务器“认为”有人正在尝试浏览默认情况下不允许的目录。

要验证您是否可以启用它(https://learn.microsoft.com/en-us/iis/configuration/system.webserver/directorybrowse),然后错误消息应该消失,您应该看到目录内容。

当然这不是您想要实现的目标,但它将帮助您排除故障。 如果这还不能帮助您解决问题,您可以提供有关您的应用程序的更多详细信息并显示您的 web.config。

© www.soinside.com 2019 - 2024. All rights reserved.