我有一个tomcat Servlet应用程序,该应用程序托管在不同计算机上的多个tomcat上。 该应用程序具有专用文件和公用文件。专用文件保留在每个webapp文件夹中,但运行时生成的公用文件保留在公用mpunt点中,该点是使用nfs的远程共享文件夹。将该文件夹安装在每台计算机上,然后在每个tomcat Webapp文件夹内创建一个simlink。
通过这种方式,任何其他tomcat编写的文件均可被其他所有人访问。
假设我有4个雄猫,每台机器2个。
然后,将共享文件夹安装在每台计算机的路径/foo/bar/files
上。这是使用nfs从远程共享文件夹装入的。
现在,在每个应用程序根目录中都创建了一个指向该文件夹的simlink。
<Tomcat Home>/webapp/<app context>/files -> /foo/bar/files
当用户上传任何文件时,我们会将其放置在此文件夹中。这使该文件可用于所有其他tomcat。
我的问题不是,当我将文件写入此文件夹时,它会成功发生。但是,当用户尝试下载文件时,它会显示Error code 404
。
我尝试了直接网址。 <host>:<port>/<context>/files/foo.csv
。然后我也得到404。
我什至尝试通过Servlet传输文件,但下载却卡住了,服务器端也没有IO错误。
我正在使用Redhat。
请帮助。提前致谢。
答案 0 :(得分:0)
在server.xml的标签中添加allowLinking =“ true”解决了该问题。