如何在Zimbra OSE中配置SNI?

在21世纪初,诸如IPv4地址之类的资源正处于枯竭的边缘。 早在2011年,IANA就将地址空间中剩下的最后五个区块/ 8分配给了区域互联网注册服务商,而在2017年,他们结束了其地址。 IPv4地址灾难性短缺的答案不仅是IPv6的出现,还有SNI技术,它使在一个IPv4地址上托管大量网站成为可能。 SNI的本质是,此扩展允许客户在握手期间告诉服务器他们要与之连接的站点的名称。 这允许服务器存储多个证书,这意味着多个域可以在同一IP地址上运行。 SNI技术在企业SaaS提供者中尤其受欢迎,这些提供者可以托管几乎无限数量的域,而无需考虑为此所需的IPv4地址数量。 让我们找出如何在Zimbra Collaboration Suite开源版中实现SNI支持。

图片

SNI适用于Zimbra OSE的所有当前和受支持的版本。 如果您的Zimbra开放源代码在多服务器基础结构上运行,则需要在安装了Zimbra代理服务器的节点上执行以下所有操作。 另外,对于要放置在IPv4地址上的每个域,您将需要匹配的证书+密钥对以及来自证书颁发机构的受信任证书链。 请注意,在Zimbra OSE中配置SNI时导致绝大多数错误的原因恰恰是在不正确的证书文件中。 因此,建议您在直接安装之前仔细检查所有内容。

首先,为了使SNI正常工作,您需要在具有Zimbra代理服务器的节点上输入命令zmprov mcf zimbraReverseProxySNIEnabled TRUE ,然后使用zmproxyctl restart命令重新启动代理服务。

我们将从创建域名开始。 例如,我们使用company.ru域,并在创建该域之后,将确定Zimbra虚拟主机的名称和虚拟IP地址。 请注意,Zimbra虚拟主机的名称必须与用户必须在浏览器行中输入以访问域的名称相对应,并且还与证书中指定的名称匹配。 例如,以Zimbra mail.company.ru作为虚拟主机名,并使用1.2.3.4作为虚拟IPv4地址。

之后,只需输入命令zmprov md company.ru zimbraVirtualHostName mail.company.ru zimbraVirtualIPAddress 1.2.3.4即可将Zimbra虚拟主机绑定到虚拟IP地址。 我们提请您注意以下事实:如果服务器位于NAT或防火墙后面,则必须确保对域的所有请求都到达与其绑定的外部IP地址,而不是本地网络上的地址。

完成所有操作后,仅需验证并准备要安装的域证书,然后再安装它们。

如果已正确颁发了域的证书,则手边应该有三个文件,其中两个是来自证书颁发机构的证书链,一个是到该域的直接证书。 另外,手上应该有一个文件,其中包含用于获取证书的密钥。 创建一个单独的文件夹/tmp/company.ru,然后将所有可用文件以及密钥和证书放在此处。 结果应该是这样的:

ls /tmp/company.ru company.ru.key  company.ru.crt  company.ru.root.crt  company.ru.intermediate.crt 

之后,使用cat company.ru.root.crt company.ru.intermediate.crt >> company.ru_ca.crt命令将证书链合并到一个文件中,并使用/ opt /命令确保证书一切正常zimbra / bin / zmcertmgr verifycrt comm /tmp/company.ru/company.ru.key /tmp/company.ru/company.ru.crt /tmp/company.ru/company.ru_ca.crt 。 证书和密钥验证成功后,您可以继续安装它们。

为了开始安装,首先我们将域证书和来自证书颁发机构的受信任链合并到一个文件中。 也可以使用格式为cat company.ru.crt company.ru_ca.crt >> company.ru.bundle的一个命令来完成此操作。 之后,您需要运行命令以将所有证书和密钥写入LDAP: / opt / zimbra / libexec / zmdomaincertmgr savecrt company.ru company.ru.bundle company.ru.key ,然后使用/ opt /命令安装证书zimbra / libexec / zmdomaincertmgr deploycrts 。 安装后,证书和company.ru域的密钥将存储在/opt/zimbra/conf/domaincerts/company.ru文件夹中。

通过使用不同的域名但使用相同的IP地址重复这些步骤,可以在同一IPv4地址上实现数百个域的位置。 同时,您可以使用各个发行中心的证书而不会出现任何问题。 您可以验证在任何浏览器中执行的所有操作的正确性,对于每个虚拟主机名,应在其中显示其SSL证书。

有关Zextras Suite的所有问题,您可以通过电子邮件katerina@zextras.com与Zextras代表联系,Ekaterina Triandafilidi。

Source: https://habr.com/ru/post/zh-CN468025/


All Articles