我正在尝试在 Windows Server 2019 上的 IIS 上部署我的 .NET 6 Web API。最终目标是仅在该服务器上的 localhost:port/swagger 上调用我的 API(而不是从外部)。 这是我到目前为止所拥有的:
dotnet publish --configuration Release
当我单击“浏览”时,它会将我带到 URL localhost:8080,并收到以下错误消息:
如果我尝试输入 localhost:8080/swagger,我会得到一个 404,如果我输入 localhost:8080/mycontroller/mygetaction,我也会得到一个 404。
我浏览了 Stackoverflow 上的多篇帖子,并尝试了所有适合我的情况的答案,但没有任何运气。
我注意到,在我网站的基本设置中,如果我点击“测试设置”,我会收到以下警告:
但是,如果我查看文件夹安全性,我会发现 IIS 用户具有对该文件夹的读取和执行访问权限:
我在这里缺少什么?
http 403.14 表示不允许列出目录内容。当您的服务器不知道要呈现什么时,通常会发生这种情况。看起来您的应用程序配置不正确,因此您的网络服务器“认为”有人正在尝试浏览默认情况下不允许的目录。
要验证您是否可以启用它(https://learn.microsoft.com/en-us/iis/configuration/system.webserver/directorybrowse),然后错误消息应该消失,您应该看到目录内容。
当然这不是您想要实现的目标,但它将帮助您排除故障。 如果这还不能帮助您解决问题,您可以提供有关您的应用程序的更多详细信息并显示您的 web.config。