2012-12-09 36 views
-1

即使在这个论坛中,我发现至少有一打这个错误的条目,还有很多外部的。基本上都说在<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,但我已经为每个人添加了读取权限。

回答

-1

首先,我不得不 “拒绝所有” 那时,我重新安排重写规则,重定向 “/数据”

Directory /data 
    --- 
    --- 
    Allow from all 
/Directory 

为 “/”

Directory 
    Deny from all 
/Directory 

只有这样, “允许所有”, ProxyPass,ProxyPassReverse里面的

VirtualHost *:80 
/VirtualHost 

它的工作!

相关问题