Web API IIS部署和403错误

问题描述:

我设法创建一个部署包并将其安装在IIS上。它没有正确提供内容。Web API IIS部署和403错误

当尝试访问不会路由到Web API应用程序的URL时,或者请求没有意义时,服务器会进行相应的响应。例如,试图打一个不存在的网址给404,或一个GET请求,只支持POST返回405方法不被允许与此消息的路由:

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

所有其他请求都给予403禁止错误。对我来说,这表示路由工作正常,还有一些其他配置错误。我已经试过这里列出的'坏'和'好'解决方案: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
+0

刚刚测试了一个不需要授权的端点,并且该请求只是超时。 –

+0

IIS正在为这些超时记录302(尽管不发送任何内容) –

所以,在我还没有设置底层问题弥补了一个HTTPS绑定现场。这被一些事情所掩盖,主要是终点不一致。一个终点是由IIS或Web API重定向到https绑定(可能是因为某些设置强制执行它),而另一个很高兴为我403/405以上的错误服务。