即使在这个论坛中,我已经找到了至少十二个此错误的条目。所有人基本上都说在<Directory></Directory>
内,我有“拒绝所有”指令,没有“允许”指令。
我无法写一个固定目录来匹配,因为它是由后端tomcat服务器即时创建的。
当我输入“myUrl / test / request / user1 / 1234567890 / download”时,我得到了
403 Forbidden:您无权访问/ test / request / user1 / 1234567890 / download。
httpd错误日志显示:
[error] [client xxx.xx.xx.xxx] client denied by server configuration: /data/test, referer: myUrl/test/request/user1/1234567890
以“test”开头的部分由后端tomcat创建,其中“user1”和“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中的“test”部分实际上是tomcat内部/ webapps目录中的“上下文”。该“测试”上下文中的所有者是tomcat,但我已经为每个人添加了读取权限。
答案 0 :(得分:-1)
首先,我不得不“拒绝所有”为“/”
Directory
Deny from all
/Directory
只有“允许所有人”才能获得“/ data”
Directory /data
---
---
Allow from all
/Directory
然后我在
内重新安排了RewriteRule,Redirect,ProxyPass,ProxyPassReverseVirtualHost *:80
/VirtualHost
它有效!