我目前正在尝试学习ASP.NET Core,到目前为止真的很棒:)
我已经安装了Core Runtime以及运行WebApp所需的一切,
我在过去几个小时里挣扎的是,
当我在http://ip:5000
这样的网址中使用端口时,我才能访问WebApp,但是当我尝试这样http://ip/WebApp
时,我收到了404错误。
Ubuntu 16.04 with 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>
和我的小样本应用
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 :(得分:0)
通过将主要方法中的配置和我的代码更改为:
,我能够修复此问题 var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:5000/WebApp")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();
host.Run();
并在Config文件中
<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>