springboot jar webapp 部署linux 的 404 问题

Posted 大小姐的生产工厂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot jar webapp 部署linux 的 404 问题相关的知识,希望对你有一定的参考价值。

 

本地跑的好好的,打成jar放centos上跑就404了,各种排查,最后手动测了一下static下的资源,发现能访问,进而又访问了一下html,可以访问!发现原来是转发路径的问题:

    @RequestMapping("/login")
    public ModelAndView login() {
        return new ModelAndView("redirect:/common/Authorization/authorizationPage.html");
    }

这里转发路径里有大写 Authorization ,但是我的目录名为 authorization ,这个在windows下没问题,到linux下就会找不到,因为linux对大小写严格校验。

所以最终原因就是因为目录是小写,但是路径写成了大写,windows下没问题,linux下就找不到了,解决方法就是改成一模一样的小写。

 

所以以后这种webapp或者nginx这类的web路径一律用小写,转发路径也一律和目录保持一致全部用小写,就不会出现这种问题了。

 

以上是关于springboot jar webapp 部署linux 的 404 问题的主要内容,如果未能解决你的问题,请参考以下文章

springboot的jar包部署

SpringBoot 项目打包部署Resin遇到的问题

Centos中部署项目(前后端)

Spring Boot 部署浅析(jar or war)

SpringBoot - 打包,war包,jar包

将Springboot webapp部署到Docker时Keycloak适配器无法验证令牌