遇到一个奇怪的问题,.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 {
# }

 

相关文章:

  • 2021-05-19
  • 2021-06-15
  • 2021-11-15
  • 2022-12-23
  • 2021-12-31
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
  • 2021-11-12
  • 2022-12-23
  • 2021-08-14
相关资源
相似解决方案