Asp.net IIS在同一端口上处理api和网站

Asp.net IIS在同一端口上处理api和网站,asp.net,iis,owin,Asp.net,Iis,Owin,我有一个用asp.net构建的API,它使用OWIN.hosting.WebApp作为Windows服务托管在。它通过netsh绑定到端口443。启动OWIN应用程序时,其完成方式如下: Dim Address As String = "https://*:443/ WebApp.Start(Of Application)(Address) 我还使用SSL将我的网站托管在IIS中,并绑定到端口443- 它们都可以正常启动和运行。但IIS似乎正在阻止对服务器的请求。IIS运行时,邮递员无法访问A

我有一个用asp.net构建的API,它使用OWIN.hosting.WebApp作为Windows服务托管在。它通过netsh绑定到端口443。启动OWIN应用程序时,其完成方式如下:

Dim Address As String = "https://*:443/
WebApp.Start(Of Application)(Address)
我还使用SSL将我的网站托管在IIS中,并绑定到端口443-

它们都可以正常启动和运行。但IIS似乎正在阻止对服务器的请求。IIS运行时,邮递员无法访问API。如果我停止IIS并尝试完全相同的邮递员请求,API将返回它应该返回的数据。一旦启动IIS备份,API将不再响应


是否可以添加重写规则以将API请求转发到API服务?

我认为,您无法在iis中承载asp.net web API windows服务。 一台IIS服务器可以承载多个网站,但为了让IIS正确分发HTTP请求,每个网站都必须使用一些唯一的值进行标识。对于IIS网站,它由三个属性组成,这三个属性构成每个网站的唯一组合。这些是:

TCP端口号 IP地址 主机头

有关托管网站的信息以以下格式存储在IIS元数据库的ServerBindings属性中:IP:Port:Hostname。因此,如果您希望在同一端口上承载多个网站,则必须使用唯一的主机头或Ip地址

有关更多详细信息,请参阅以下链接:


在IIS中托管这两个应用程序,在具有该绑定的站点上至少作为虚拟应用程序托管其中一个应用程序。@mason如何在IIS下运行api(windows服务)?有一些教程介绍了Web api的各种托管模型,IIS就是其中之一。