jep*_*rro 27 configuration symlink tomcat
我有一个进程上传一些.pdf文件的目录.这个过程是我无法控制的.
我需要使用Tomcat通过网站提供这些文件.
我有一个/var/lib/tomcat5/webapps/test1可用于Web 的目录,我可以使用浏览器查看其中的文件.
所以,我创建了一个指向带有.pdf文件的目录的符号链接:
/var/lib/tomcat5/webapps/test1/files/但是我在该目录中看不到任何内容.
如何test1仅在目录中启用符号链接?我不想在任何地方启用符号链接,只是为了使.pdf文件目录可供网络使用.
net*_*eff 50
创建META-INF/context.xml包含的解决方案存在一些问题<Context path="/myapp" allowLinking="true">
最大的问题是,如果conf/context.xml存在,则allowLinking在<Context>有需要优先于一个<Context>在META-INF/context.xml.如果conf/context.xml没有明确定义allowLinking,那就像说的一样allowLinking="false".(请参阅我对上下文优先级问题的回答)
为了确保您的应用允许链接,您必须说<Context override="true" allowLinking="true" ...>.
另一个问题是path="/myapp"在a中忽略了META-INF/context.xml.为了防止混淆,最好不要混淆.唯一一次path在<Context>有任何效果的server.xml,和官方的Tomcat文档建议不要把<Context>S IN一个server.xml.
最后,myapp/META-INF/context.xml我推荐使用conf/Catalina/localhost/myapp.xml文件而不是文件.这种技术意味着你可以保持你的META-INF干净的内容,这是你的webapp的胆量 - 我不喜欢冒险在我的webapp的胆量.:-)
Lok*_*oki 16
META-INF在Web应用程序的目录中创建context.xml文件,其中包含:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/myapp" allowLinking="true">
</Context>
Run Code Online (Sandbox Code Playgroud)
更多信息:http://www.isocra.com/2008/01/following-symbolic-links-in-tomcat/
小智 6
是的我知道这是一个老问题,但是我找到了一个新的解决方案,使用带有--bind选项而不是符号链接的mount,并且tomcat不需要任何重新配置:
cd/var/lib/tomcat5/webapps/test1 /
mkdir文件
mount --bind/path/to/actual/upload/directory/files文件
这在Tomcat 8+中的工作原理有所不同
http://tomcat.apache.org/migration-8.html
<Resources allowLinking="true" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41783 次 |
| 最近记录: |