.net core mvc项目部署nginx报错一直显示404错误

遇到一个奇怪的问题,.net core mvc 项目部署到nginx上面,系统是linux,controller明明抛出500错误,但页面一直显示是404.

解决如下:

1.修改Startup.cs,由于发布到生产环境,使用错误页面/Home/Error,但错误页面又不存在,出现404错误。

 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
 {
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    }
    else
    {//app.UseExceptionHandler("/Home/Error");
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    }
}

2.修改nginx的配置,把404与500的错误页面注释掉,nginx不进行处理,这样错误就会显示调试时的错误信息。

# error_page 404 /404.html;
#    location = /40x.html {
# }

#error_page 500 502 503 504 /50x.html;
#     location = /50x.html {
# }