Web API IIS部署和403错误

本文关键字:错误 部署 API IIS Web | 更新日期: 2023-09-27 18:17:16

我已经成功创建了一个部署包并将其安装在IIS上。

当试图访问不会被路由到Web API应用程序的url时,或者当请求没有意义时,服务器会做出适当的响应。例如,尝试点击一个不存在的url返回404,或者向一个只支持POST的路由发出GET请求返回405方法,不允许使用此消息:

{
   "Message": "The requested resource does not support http method 'GET'."
}

所有其他请求都给出403禁止错误。对我来说,这表明路由工作正常,并且存在一些其他配置错误。我已经尝试了这里列出的"坏"answers"好"的解决方案:http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html,没有任何区别。

我注意到应用程序没有创建用户数据库表,而在我第一次运行应用程序时,它是自动创建的。我想这可能有关系。

我相信IIS配置正确;它有。net 4和集成模式的应用程序池。我已经确认ASP。. NET 4.5是通过添加/删除Windows功能对话框安装的。

我试图托管的应用程序是基于:https://github.com/MikeWasson/LocalAccountsApp。我只做了很小的改动。

服务器统计数据:

  1. Windows Server 2012 R2
  2. SQL Server 2016
  3. IIS 8.5

Web API IIS部署和403错误

所以,潜在的问题是我没有为网站设置https绑定。这被一些事情掩盖了,主要是端点的行为不一致。一个端点被IIS或Web API重定向到https绑定(可能是因为某些设置强制),而另一个端点很高兴为我提供上面的403/405错误。