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。我只做了很小的改动。
服务器统计数据:
- Windows Server 2012 R2 SQL Server 2016
- IIS 8.5
所以,潜在的问题是我没有为网站设置https绑定。这被一些事情掩盖了,主要是端点的行为不一致。一个端点被IIS或Web API重定向到https绑定(可能是因为某些设置强制),而另一个端点很高兴为我提供上面的403/405错误。