1

有一个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

内容类型:文本/html;

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

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

我尝试执行以下操作:

  1. 禁用万维网发布服务
  2. 禁用 Web 部署代理服务
  3. 确保没有 SQL Server Reporting Services 和 Branch Cache Service
  4. 禁用 IIS
  5. 在防火墙中为端口 80 添加规则
  6. tasklist /M httpapi.dll通过它的命令杀死所有进程PID(之后没有从netstat -ano命令监听 80 端口),然后启动应用程序。

但这并没有帮助。

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

在此处输入图像描述

这是一个 PID 1800 的进程:

在此处输入图像描述

什么以及为什么会阻止 80 端口?

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

谢谢!

4

1 回答 1

3

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

server.urls=http://localhost:80

这意味着只有在您的浏览器窗口中有 URL 时,该站点才会响应您,但是例如,http://localhost您会使用外部 URL 。http://192.168.100.100尝试更改 URL 以匹配(显然使用您自己的 IP 地址或机器名称):

server.urls=http://192.168.100.100:80

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

server.urls=http://localhost:80;http://server:80;http://192.168.100.100:80
于 2015-10-14T14:19:39.653 回答