我正在尝试在Azure上托管的Windows Server 2016实例上运行示例ASP.NET5 MVC应用程序。所有指标都显示应用程序在服务器上运行良好,但是当我尝试浏览URL(使用服务器的主机名或公共IP)时,我得到404. NOT FOUND错误。
info : [Microsoft.Net.Http.Server.WebListener] Start
info : [Microsoft.Net.Http.Server.WebListener] Listening on prefix: http://localhost:80/
Started
当我在我的本地开发者机器上以相同的方式运行应用程序时,我得到相同的输出,并且它可以浏览localhost:80来访问该网站。
对我来说,这表明
我的猜测是WebListener服务器出了问题,没有正确地将传入的请求路由到我的应用程序,或者我的MVC代码可能出错(尽管它在localhost上工作正常)。
对于一个相当含糊的问题感到抱歉,我对所有想法和意见持开放态度,请随时提出进一步的问题,以便我提供更多信息。
干杯, 尼科
答案 0 :(得分:0)
正如@Rob和@Amy指出的那样,问题是WebListener只有http://localhost:80地址的绑定。当我尝试使用我的服务器主机名浏览它时,我得到了404 Not Found。
解决方案是将hosting.ini中的--server.urls从http://localhost:80更改为我正确的主机名。此处还找到了有关答案的更多信息:
How to Change Server.Urls with Microsoft.AspNet.Server.WebListener(stackoverflow.com)