Azure Windows Server 2016上的ASP.NET5 CLR网站正在运行,但在浏览器中找不到404
我正在尝试在Azure上托管的Windows Server 2016实例上运行一个示例ASP.NET5 MVC应用程序。所有的指示器都显示应用程序在服务器上运行良好,但是当我尝试浏览URL(使用服务器的主机名或公共IP)时,我得到了404。找不到错误Azure Windows Server 2016上的ASP.NET5 CLR网站正在运行,但在浏览器中找不到404,asp.net,.net,asp.net-mvc,azure,windows-server-2016,Asp.net,.net,Asp.net Mvc,Azure,Windows Server 2016,我正在尝试在Azure上托管的Windows Server 2016实例上运行一个示例ASP.NET5 MVC应用程序。所有的指示器都显示应用程序在服务器上运行良好,但是当我尝试浏览URL(使用服务器的主机名或公共IP)时,我得到了404。找不到错误 这些端口在Azure和防火墙中是开放的 该应用程序在Microsoft.Net.Http.Server.Weblistener上运行 运行时为clr-1.0.0-beta5 x64。我已验证运行时是否已正确安装并正在使用 我已经从VS2015发布
- 这些端口在Azure和防火墙中是开放的李>
- 该应用程序在Microsoft.Net.Http.Server.Weblistener上运行
- 运行时为clr-1.0.0-beta5 x64。我已验证运行时是否已正确安装并正在使用李>
- 我已经从VS2015发布了应用程序,并手动传输到服务器,我使用自动生成的命令“web.cmd”运行它,我得到一个整洁的输出,上面写着:
Niko正如@Rob和@Amy所指出的,问题在于WebListener对地址只有一个绑定。当我尝试使用我的服务器主机名浏览它时,我得到了404未找到 解决方案是将hosting.ini中的--server.url从更改为我的正确主机名。还可以在此处找到有关答案的更多信息:
(stackoverflow.com)正如@Rob和@Amy所指出的,问题在于WebListener只有地址的绑定。当我尝试使用我的服务器主机名浏览它时,我得到了404未找到 解决方案是将hosting.ini中的--server.url从更改为我的正确主机名。还可以在此处找到有关答案的更多信息:
(stackoverflow.com)访问远程站点时,您将无法使用
localhost
。我不知道解决方案是什么,但这可能就是问题所在。@Amy我的措辞一定很糟糕-当然,我没有试图通过本地主机地址连接到我的Azure服务器,我有一个IP和一个主机名。我会试着编辑一下OP来澄清一下。好吧,如果你得到的是404,那不是防火墙的问题。如何设置MVC路由?上面web.cmd
的输出表明它正在监听http://localhost:80/
。Windows(至少在IIS中)中的绑定非常具体,因此localhost:80
不一定与127.0.0.1:80
或IpAddressOfMachine:80
相同。您对@Amy的评论表明您正试图通过另一个IP/主机名进行连接,web.cmd
是否为这些设置了绑定?@Rob非常感谢,这确实是我的问题。我将自动生成的hosting.ini文件改为--server URL,改为我的主机名,而不是localhost,现在可以正常工作了。谢谢你的帮助。我可以将评论标记为答案吗?访问远程站点时,您将无法使用localhost
。我不知道解决方案是什么,但这可能就是问题所在。@Amy我的措辞一定很糟糕-当然,我没有试图通过本地主机地址连接到我的Azure服务器,我有一个IP和一个主机名。我会试着编辑一下OP来澄清一下。好吧,如果你得到的是404,那不是防火墙的问题。如何设置MVC路由?上面web.cmd
的输出表明它正在监听http://localhost:80/
。Windows(至少在IIS中)中的绑定非常具体,因此localhost:80
不一定与127.0.0.1:80
或IpAddressOfMachine:80
相同。您对@Amy的评论表明您正试图通过另一个IP/主机名进行连接,web.cmd
是否为这些设置了绑定?@Rob非常感谢,这确实是我的问题。我将自动生成的hosting.ini文件改为--server URL,改为我的主机名,而不是localhost,现在可以正常工作了。谢谢你的帮助。我可以将评论标记为答案吗?
info : [Microsoft.Net.Http.Server.WebListener] Start
info : [Microsoft.Net.Http.Server.WebListener] Listening on prefix: http://localhost:80/
Started