AEM调度程序限制内容页面

时间:2017-12-12 17:11:19

标签: aem httpd.conf dispatcher

在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

有人可以帮助解决这个问题。我可以添加更多细节。

2 个答案:

答案 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>