在本教程中,我们将向您展示如何安装 Let’s Encrypt SSL With Apache 在 CentOS 7 服务器上。 对于那些不知道的人,LetsEncrypt 是一个免费的开放证书颁发机构 (CA),它为网站和其他服务提供免费证书。 该服务由电子前沿基金会、Mozilla、Cisco Systems 和 Akamai 提供支持。 不幸的是,LetsEncrypt.org 证书目前的有效期为 3 个月。 这意味着您现在需要每季度更新一次证书。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示逐步安装 Let’s Encrypt SSL with Apache 在 CentOS 7 服务器上。
先决条件
- 运行以下操作系统之一的服务器:CentOS 7。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
安装 Let’s Encrypt SSL Apache 在 CentOS 7 上
第 1 步。首先,让我们首先确保您的系统是最新的。
yum clean all yum -y update
步骤 2. 使用 Certbot 安装 Let’s Encrypt SSL。
在 CentOS 7 中,您可以在 EPEL 存储库中找到 Certbot; 如果你启用它,只需安装你需要的:
yum install epel-release yum install python-certbot-apach
Certbot 有相当稳固的 beta-质量 Apache 插件,在许多平台上都受支持,并自动获取和安装证书:
certbot --apache
之后,您将看到自定义选项的指南,如下所示:
Enter 您要保护的域; 然后,Certbot 将提示您输入您的电子邮件地址:
接下来,您将选择虚拟主机文件,作为默认值 ssh.conf
. 之后,您可以决定是启用 HTTP 和 HTTPS 访问还是重定向到 HTTPS。 安全选项是第二个(HTTPS)。 在该过程结束时,Certbot 将显示一条包含配置信息的消息。
步骤 3. 配置 CentOS SSL。
首先,通过 Certbot 编辑您在配置期间指定的虚拟主机文件。 如果你使用默认的,文件应该是 /etc/httpd/conf.d/ssl.conf
:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off
Save 和 close 文件。 重新启动 apache 服务以使更改生效:
systemctl restart httpd.service
第 4 步:自动续订 Let’s Encrypt。
Certbot 可以配置为在证书过期之前自动更新您的证书。 由于 Let’s Encrypt 证书的有效期为 90 天,因此强烈建议您利用此功能。 您可以通过运行以下命令来测试证书的自动续订:
certbot renew --dry-run
恭喜! 您已成功安装 Let’s Encrypt。 感谢您使用本教程在 CentOS 7 系统上安装 Let’s Encrypt SSL。 如需更多帮助或有用信息,我们建议您查看 Let’s Encrypt 官方网站.