跳到内容
必威体育论坛必威精装下载APPRedfin解决方案的标志必威体育论坛必威精装下载APPRedfin解决方案的标志 联系
锁着的门

让我们在Acquia上加密SSL证书

最近,我们的一个企业客户请求在他们的acqua托管的Stage和Development环境上安装SSL证书。这似乎不是Acquia所提供的(他们在dev/stage环境上提供了基本的SSL,但不提供主机名匹配),所以我们开始设置它们。他们使用自己的开发和登台环境向涉众展示新的内容和特性,有些人被SSL证书的警告吓到了。

而不是付钱,我们决定尝试一下让我们加密,如果您没有听说过,它是一个令人惊异的、相对较新的证书颁发机构,它提供免费证书,并具有在所有地方启用SSL的使命。

加密所有东西!得到Certbot

你要做的第一件事是下载certbot.Certbot是一个命令行工具EFF使用Let’s Encrypt管理SSL证书。在Re必威体育论坛dfin,我们用mac家酿,所以得到这个工具最简单的方法是在终端输入' brew install certbot '。现在,有一个“certbot”全局可执行文件要使用。

如果你按照上面的“下载certbot”链接,比如输入“Apache”和“Ubuntu 14.04”,你就会得到如何在其他平台上安装certbot的说明。

下载了certbot之后,需要运行验证的“手动”方法。这感觉像是验证站点所有权的老方法——向特定目录添加一些文件。让我们加密然后调用那个URL,如果它发现你放了正确的东西,它会假设你控制了那个网站,并给你提供证书。

在您的本地机器上,运行certbot命令进行手动验证:' sudo certbot certonly——manual -d SITEstg.prod.acquia-sites.com -d SITEdev.prod.acquia-sites.com '(其中SITE取决于您特定的Acquia设置)。在执行接下来的步骤时,您将保持该命令运行。

“当然”和“—手册”是这里的主要影响因素。注意,您可以根据需要添加任意多的-d和域。如果你在Acquia中拥有比标准stage/dev更多的开发环境(我的客户端就是这么做的),你可以继续添加-d。注意,在我的Mac上,我还必须在它前面加上'sudo',因为它写入/etc。如果需要,还可以在命令上指定一些附加参数,将这些文件放在单独的位置。

允许在. htaccess

这就开始了验证站点的过程。随着逐步进行,它将为您提供一些需要在特定URL中可用的长、散列式外观的文本字符串。根据规范,这是在站点根目录下的. known/文件夹。为了让Drupal看到这一点,您可能需要对.htaccess文件进行一些更改。

如果你使用的是Drupal 8.3。x站点(更新于2017年2月9日),该问题已经修复。看到https://www.drupal.org/node/2408321为更多的信息。

如果您正在使用Drupal 7,那么在撰写本文时,核心还没有修复这个问题。看到https://www.drupal.org/node/2847325为更多的信息。本质上,您需要在。htaccess的顶部的FilesMatch指令中允许。known,然后从文件后面的主rewriterrule中排除它。

使验证“文件”可见

您可能想到的下一个想法是,“好,现在我需要将所有需要可见的文件放在. known/acme-challenges/ry784yfy7…”fdhj目录。”除了,你真的不知道。(专业提示:你不需要同时在4个环境中启用实时开发模式,从而导致服务器崩溃。)

为什么不呢?这个令人难以置信的让我们加密的挑战模块。这让您可以使用Drupal UI输入您的挑战信息,或将文件上载到sites/default/files来回答挑战。下载该模块并将其推到一个分支,并设置所有启用Let's Encrypt SSL的Acquia环境,以使用该分支。在每个dev/stage站点上启用该模块,当您执行certbot命令(它为每个域提供一个挑战)时,登录站点,输入挑战,并点击save。然后,您可以调出certbot提供的URL,以验证模块正在执行它所承诺的操作。(这里需要注意的是,如果你在更改。htaccess或启用它之前不小心打开了URL, Acquia的Varnish会缓存虚假的响应,验证将无法工作。如果您不小心这样做了,请确保在Acquia上冲洗Varnish缓存,以适应您触发触发器的环境。)

当certbot过程完成时,它将告诉您在哪里可以找到所需的证书文件。在使用Homebrew安装了certbot的Mac中,这些文件存储在/etc/letsencrypt/live/FIRSTDOMAIN中(其中FIRSTDOMAIN是您传入certbot命令的第一个域,如上所示)。

告诉Acquia你得到了好处

这是一个分为两部分的过程。通过登录到Acquia控制台,您必须转到每个单独的环境,并转到左侧导航中的SSL部分。在那里,你可以点击顶部的“安装SSL证书”。系统将提示您输入四条信息:(1)证书的名称(例如:“LE 05022017”,因为它是让我们加密和它创建的日子),(2)证书的私钥(使用privkey。(3)证书本身(使用cert.pem),(4)“链”证书(通常称为“中间”证书),它建立了从您的证书到根证书颁发机构的安全性(使用chain.pem)。注意:使用Acquia,你将不会使用fullchain.pem。这只是一个将所有信息连接到一个证书文件中的文件。

这个过程的第二部分是,一旦“安装”活动完成,点击证书旁边的“激活”。

同样,对于每个环境都需要重复此操作,但是使用相同的证书信息。

在下面的截图中,我试图提醒大家注意Acquia控制台中SSL屏幕的一些相关部分:

成功安装并激活带有Let's Encrypt证书的Acquia控制台
注意左边列的SSL导航、证书的名称“LE 05022017”、“Deactivate”链接(在证书安装后,您将在这里找到“Activate”链接)以及顶部的“Install SSL certificate”链接。

我们希望这对在您自己的Acquia环境中安装一些基本的SSL证书有帮助!

Baidu