我有一个已经托管并使用AEM的网站。我有另一个需要托管的域名。如果托管,则需要在同一AEM系统(作者,发布者和调度程序)上配置哪些配置。
答案 0 :(得分:3)
official Adobe documentation已在之前的帖子中提供给您,但它并未涵盖实现正确的多租户设置所需的所有内容。
不幸的是,如果多租户从一开始就没有被考虑过并且需要一个非常称职的团队,那么很多事情就很难做到。
Web服务器
根据您的网络服务器配置,您很可能必须为新域添加额外的VirtualHost条目。
<VirtualHost *:80>
ServerName sitea.com
DocumentRoot /usr/lib/apache/htdocs/content/sitea
<Directory /usr/lib/apache/htdocs/content/sitea>
<IfModule disp_apache2.c>
SetHandler dispatcher-handler
ModMimeUsePathInfo On
</IfModule>
Options FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
如果要在Web服务器级别重写请求,则必须通过相应地配置mod_rewrite来添加新的重写规则,以便将请求转发到正确的内容路径。
<强>分派器强>
在dispatcher configuration中,您必须根据虚拟主机为您的网站创建新服务器场。我建议你把它们分成这样的文件:
/farms
{
$include "farm-sitea.any"
$include "farm-siteb.any"
$include "farm-flush.any"
}
注意:确保用户无法使用新网站访问其他网站的受限内容。例如,如果无法访问http://sitea.com/secure/page.html
,请确保http://siteb.com/secure/page.html
符合/etc/map
。
<强> AEM 强>
如果您正在利用Sling Mappings来解决进入AEM实例的请求,则必须在style.header
下为新域添加其他条目。
我已经就链接重写here的主题撰写了大量文章。
现在您在一个AEM实例中托管多个站点,您需要在两个应用程序之间使用公共代码库来存储实例范围的配置和实用程序类。您可以包含在此公共包中的服务配置是:
在多租户方面,有很多需要考虑的问题。您可能需要涵盖的一些其他方面是:
希望这有帮助!
答案 1 :(得分:0)
它是内容重定向的etc/maps
条目和处理带有域名的内容路径的/virtualhosts
条目的组合,请查看这些how-can-i-prevent-exposing-of-content-hiererchy-paths和{ {3}}
您只需要在AEM中增加etc/map
条目,以便在AEM中使用您的域名和调度程序中的相应虚拟主机条目来处理内容重定向。我的博客上有how-to-disable-trace-requests-to-an-aem-publish-instance