2017-04-09 135 views
1

我目前正在嘗試學習ASP.NET核心它真的很棒:)到目前爲止我已經安裝了核心運行時和運行WebApp所需的所有東西, 我在最近幾個小時掙扎的是, ,我只能在像http://ip:5000這樣的URL中使用端口時才能訪問WebApp,但是當我嘗試像這樣的時候http://ip/WebApp我收到了404錯誤。ASP.NET核心部署應用程序失敗與Apache

的Ubuntu 16.04與Apache

我敢肯定,我已經配置在Apache的一切,使其工作。這是/etc/apache2/sites-available/proxy-host.conf

<VirtualHost *:80> 
    DocumentRoot /var/www/WebApp/ 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    ProxyPreserveHost On 
    ProxyPass /WebApp http://localhost:5000 
    ProxyPassReverse /WebApp http://localhost:5000 
    ServerName localhost 
</VirtualHost> 

我的conf文件和我的小示例應用程序

public static void Main(string[] args) 
     { 

      var config = new ConfigurationBuilder() 
       .SetBasePath(Directory.GetCurrentDirectory()) 
       .AddJsonFile("hosting.json", optional: true) 
       .Build(); 

      var host = new WebHostBuilder() 
       .UseKestrel() 
       .UseUrls("http://*:5000") 
       .UseContentRoot(Directory.GetCurrentDirectory()) 
       .UseIISIntegration() 
       .UseStartup<Startup>() 
       .UseApplicationInsights() 
       .Build(); 

      host.Run(); 
     } 

缺少什麼我在這裏?我敢肯定,這是一個noob問題,但請記住,我試圖學習:=)

+0

你試過.UseUrls( 「:// * Web應用程序HTTP」)? – ThatAwesomeCoder

+0

不,我會嘗試,我需要在conf文件中更改它嗎? –

+0

感謝您的建議,但http://*.WebApp給我一個System.IO.IOException:無法綁定到地址http:// *:webapp:80::( –

回答

0

我能修復這個問題通過改變配置和我的代碼在主要方法於:在你的WebHostBuilder

var host = new WebHostBuilder() 
       .UseKestrel() 
       .UseUrls("http://*:5000/WebApp") 
       .UseContentRoot(Directory.GetCurrentDirectory()) 
       .UseStartup<Startup>() 
       .UseApplicationInsights() 
       .Build(); 

    host.Run(); 

,並在配置文件中

<VirtualHost *:80> 
    DocumentRoot /var/www/WebApp 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    ProxyPreserveHost On 
    ProxyPass /WebApp http://localhost:5000/WebApp 
    ProxyPassReverse /WebApp http://localhost:5000/WebApp 
    ServerName localhost 
</VirtualHost> 
相關問題