ASP.NET5 | MVC6项目托管使用80端口

时间:2015-10-14 14:11:24

标签: c# hosting asp.net-core asp.net-core-mvc port80

有一个MVC 6 (beta 7)项目。我通过VisualStudio 2015发布向导将其发布到本地文件夹(在Windows Server 2012上)。这是hosting.ini文件:

server=Microsoft.AspNet.Server.WebListener
server.urls=http://localhost:80

以下是在project.json中启动服务器的命令:

"web": "Microsoft.AspNet.Hosting --config hosting.ini",

我通过执行本地文件夹中的发布向导生成的web.cmd来启动服务器。

网站在本地计算机上运行良好(http://localhost)。

好的,现在是最有趣的。我尝试从外部计算机打开它,看看

  

HTTP错误404.找不到请求的资源。

响应标头是:

  

连接:关闭

     

内容长度:315

     

的Content-Type:text / html的;

     

charset = us-ascii服务器:Microsoft-HTTPAPI / 2.0

好的,我发现WAMP/Apache托管存在类似的问题,例如thisthis

我尝试执行以下操作:

  1. 禁用万维网发布服务
  2. 禁用Web部署代理服务
  3. 确保没有SQL Server Reporting Services和分支缓存服务
  4. 禁用IIS
  5. 在防火墙中为端口80添加规则
  6. tasklist /M httpapi.dll命令中删除PID命令的所有进程(之后没有从netstat -ano命令侦听80端口),然后启动应用程序。
  7. 但它没有帮助。

    注意: 以下是在第6节之后启动应用程序后tasklist /M httpapi.dll命令的结果:

    enter image description here

    这是PID 1800的过程:

    enter image description here

    什么和为什么阻止80端口?

    我怎样才能解决这个问题?

    谢谢!

1 个答案:

答案 0 :(得分:3)

我认为问题是您对该网站的绑定。在您的配置中,您说:

server.urls=http://localhost:80

这意味着,如果您的浏览器窗口中包含网址http://localhost,则网站只会回复您,但是您可以使用http://192.168.100.100作为外部网址。尝试更改URL以匹配(显然使用您自己的IP地址或计算机名称):

server.urls=http://192.168.100.100:80

我认为你也可以通过用冒号或逗号分隔多个URL来指定:

server.urls=http://localhost:80;http://server:80;http://192.168.100.100:80