2015-10-14 46 views
1

有一个MVC 6 (beta 7)项目。我通过VisualStudio 2015发布向导将其发布到本地文件夹(位于Windows Server 2012)。这里是hosting.ini文件:ASP.NET5 |使用80端口的MVC6项目托管

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。找不到请求的资源。

响应头有:

连接:关闭

的Content-Length:315

的Content-Type:text/html的;

的charset = US-ASCII服务器:HTTPAPI/2.0

好吧,我发现与WAMP/Apache举办类似的问题,例如thisthis

我试着做到以下几点:

  1. 禁用万维网发布服务
  2. 禁用Web部署代理服务
  3. 确保不会有SQL Server报表服务和分支缓存服务
  4. 禁用IIS
  5. 增加对80端口的规则在防火墙
  6. 杀死所有的p从tasklist /M httpapi.dll命令执行PID(之后没有从netstat -ano命令收听80端口),然后启动应用程序。

但它没有帮助。

对于注: 这里是tasklist /M httpapi.dll命令的结果第6之后启动该应用程序后:

enter image description here

这里是与PID 1800的方法:

enter image description here

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

我该如何解决这个问题?

谢谢!

+0

使用MVC 5,您必须以特定范围内的端口(包括80)作为管理员运行Visual Studio。你尝试过吗? –

+1

@MuhammadRehanSaeed是的,我总是以管理员身份运行它。 – hcp

回答

3

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

server.urls=http://localhost:80 

这意味着该网站将只回应你,如果你有网址http://localhost在浏览器窗口,但是从外部URL您可以使用http://192.168.100.100例如。请尝试更改URL,以匹配(显然使用自己的IP地址或机器名):

server.urls=http://192.168.100.100:80 

我想你也可以通过用任何一个分号或逗号分隔指定多个网址:

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

是的,你是对的!非常感谢你。这非常简单! :) – hcp