在AEM dipatcher中,我们有两个农场,一个用于作者,一个用于发布。在发布服务器场上,我想限制直接请求访问的几个内容页面。
为此我们有一个vhost,我们只希望那个vhost访问内容页面。 但在此之前,我想测试过滤器的工作原理。
这是我在dispatcher.any中的过滤器配置
/filter
{
# deny everything and allow specific entries
/0001 {/type "allow" /glob "*"}
/0002 {/type "deny" /glob "* content *"}
}
尝试了
/0002 {/type "deny" /url "*/content*"}
And also
/0002 {/type "deny" /glob "*/content*"}
我可以看到调度程序正在为缓存页面提供服务: 请求页面的缓存操作为:DELIVER
有人可以帮助解决这个问题。我可以添加更多细节。
答案 0 :(得分:0)
请尝试以下选项
拒绝所有内容,然后允许所需的网址
/0001 { /type "deny" /glob "*" }
/0029 { /type "allow" /glob "* /services*" }
/0031 { /type "allow" /glob "* /content/dam*" }
/0032 { /type "allow" /glob "* /etc/designs/*" }
答案 1 :(得分:0)
过滤器可以正常使用格式
/filters
{ /0002 {/type "deny" /glob "* content *"} }
但对我来说问题是缓存。由于mnt/var/httpd/crx/content
处的缓存正在缓存内容页面,因此请求与这些缓存页面一起提供。
解决方法是使用指向不同服务器场的不同vhost,可能类似于/ publish_deny_farm:并允许特定于该服务器场的vhost指向不同的缓存根目录。
我们可以包括的另一层安全性是在apache层过滤请求并将请求转发到过滤的特定vhost场,因此我们可以更好地控制过滤和拒绝内容的certian路径的流量。 / p>