我有一个在远程CentOS 7 Web服务器上的tomcat 8上运行的spring mvc应用程序。当我单击指向某些调用某些JSP的某些URL模式的链接时,会出现404错误。相同的war文件可以在本地CentOS 7 devbox上运行,localhost:8080
而不会抛出404错误,并且还可以在我的devbox上使用eclipse运行Run As..Run on Server
,而不会抛出404错误。那么,为什么同一个war文件在服务器上却抛出404错误却在本地devbox上却没有抛出404错误?
我已经证实,JSP文件实际上是存在于服务器上键入以下命令cd /opt/tomcat/webapps/ROOT/WEB-INF/jsp
,然后ls -al
,也重复了该文件夹中的子目录。
在我的本地devbox上,所有tomcat子目录和文件均由root拥有。在删除服务器上,某些文件夹由同时也是wheel组成员的用户拥有。因此,我将服务器上webapps目录的所有权更改为root,但是问题仍然存在。我还能尝试什么?
最好以非root用户身份运行tomcat,因为存在同样的安全问题,在root模式下打开端口可能会受到攻击。您可以将用户和组创建为tomcat。然后将tomcat:tomcat插入tomcat目录。但是您还需要记住每次将webapp放入相同的tomcat:tomcat权限到文件夹中。我个人建议使用tomcat作为root。因为我没有看到任何安全性问题,所以非root用户具有很大的维护性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句