2015-10-14 36 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