如何让httpPlatformHandler和Kestrel在一台服务器上与多个网站很好地配合使用

时间:2015-12-11 16:50:26

标签: asp.net asp.net-core kestrel-http-server

我的网络服务器,用于开发目的,提供几个网站。这些都托管在xxx.example.com/yyy.example.com下。每个应用程序都获得它自己的子域,但在同一台服务器上运行,这显然会降低成本。

尝试使用ASP.NET 5做到这一点证明非常困难。 Kestrel似乎接管整个套接字连接而不是(某种程度上)IIS管理流量并将其路由到两个不同的应用程序池和网站。第二个产生的错误如下:

Microsoft.AspNet.Server.Kestrel.Networking.UvException: Error -4090 EADDRNOTAVAIL address not available
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check(Int32 statusCode)
   at Microsoft.AspNet.Server.Kestrel.Networking.UvTcpHandle.Bind(ServerAddress address)
   at Microsoft.AspNet.Server.Kestrel.Http.TcpListener.CreateListenSocket()
   at Microsoft.AspNet.Server.Kestrel.Http.Listener.<>c__DisplayClass5_0.<StartAsync>b__0(Object _)

1 个答案:

答案 0 :(得分:1)

解决方案是关于为project.json中的web命令指定的server.urls,请参阅:https://github.com/aspnet/Hosting/issues/520#issuecomment-164127476