即使在这个论坛中,我发现至少有一打这个错误的条目,还有很多外部的。基本上都说在<Directory></Directory>
里面,我有“拒绝所有”指令,并且没有“允许”指令。由tomcat服务器配置拒绝的客户端
我无法编写一个固定的目录进行匹配,因为它是由后端tomcat服务器实时创建的。
当我进入 “myUrl /测试/请求/ USER1/1234567890 /下载”,我得到
403禁止:您没有权限访问/测试/请求/ USER1/1234567890 /下载。
httpd的错误日志显示:
[error] [client xxx.xx.xx.xxx] client denied by server configuration: /data/test, referer: myUrl/test/request/user1/1234567890
的部分以“test”开始由后端的Tomcat,其中“用户1”和“1234567890”变化创建的,而该目录的其它部分结构保持不变。
在我的httpd.conf,我有:
<VirtualHost *:80>
DocumentRoot /data
---
---
RewriteRule ^/test - [L]
---
</VirtualHost>
如何解决这个问题?即使我创建了另一个文件并创建另一个文档根目录,我也需要一个正则表达式。外面某处,我试过这个:
<Directory "/data/test/request/*/*/download">
Options -Indexes -FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
但是没有成功。
我正在使用“ajp”与后端tomcat对话,并且有必要的模块,我可以telnet后端tomcat服务器(在8009上)。所以它不应该是ajp通信问题。
上面的url中的“测试”片段实际上是tomcat中的/ webapps目录内的“上下文”。在“测试”上下文中的所有者是tomcat,但我已经为每个人添加了读取权限。