在本教程中,我们将向您展示如何在 CentOS 7 上安装 Let’s Encrypt SSL With Lighttpd。对于那些不知道的人,LetsEncrypt 是一个免费的开放证书颁发机构 (CA),它为网站和其他服务提供免费证书。 该服务由电子前沿基金会、Mozilla、Cisco Systems 和 Akamai 提供支持。 不幸的是,LetsEncrypt.org 证书目前的有效期为 3 个月。 这意味着您现在需要每季度更新一次证书。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将逐步向您展示让我们在 CentOS 7 服务器上使用 Lighttpd 加密 SSL。
在 CentOS 7 上安装 Let’s Encrypt SSL with Lighttpd
第 1 步。首先,让我们首先确保您的系统是最新的。
yum clean all yum -y update
步骤 2. 使用 Certbot 安装 Let’s Encrypt SSL。
在 CentOS 7 中,您可以在 EPEL 存储库中找到 Certbot; 如果你启用它,只需安装你需要的:
yum install epel-release yum install certbo
您还需要安装并运行 Lighttpd。 当然,如果您将证书添加到先前配置的 Web 主机上,这将已经安装:
yum -y install lighttpd systemctl start lighttpd.service
使用 Certbot 获取证书:
certbot certonly --webroot -w /var/www/idroot.us -d idroot.us -d www.idroot.us
将证书和私钥合并到一个文件中。
Lighty 喜欢以特定方式格式化的证书,因此我们将把私钥和证书合并到一个文件中,稍后我们将告诉 lighty:
cat /etc/letsencrypt/live/idroot.us/privkey.pem /etc/letsencrypt/live/idroot.us/cert.pem > /etc/letsencrypt/live/idroot.us/combined.pem
步骤 3. 为您的新证书配置 Lighttpd。
配置 lighty 以使用新的证书和链:
nano /etc/lighttpd/lighttpd.conf
使用以下信息:
$SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "/etc/letsencrypt/live/idroot.us/web.pem" ssl.ca-file = "/etc/letsencrypt/live/idroot.us/chain.pem" server.name = "idroot.us" server.document-root = "/var/www/idroot.us" server.errorlog = "/var/log/lighttpd/idroot.us_error.log" accesslog.filename = "/var/log/lighttpd/idroot.us_access.log"
步骤 4. 强制 Lighttpd 的 HTTPS 请求。
我们还可以在 Lighttpd 服务器上配置 HTTP 到 HTTPS 的重定向,以便来自非 HTTPS 站点的流量重定向到 HTTPS 站点:
$HTTP["scheme"] == "http" { $HTTP["host"] == "idroot.us" { url.redirect = ("/.*" => "https://idroot.us$0") } }
Save 和 close 完成后的文件。
步骤 5. 设置 Let’s Encrypt SSL 自动更新。
Let’s Encrypt 证书的有效期为 90 天; 强烈建议配置 cron (Linux Scheduler) 作业以在证书过期之前更新您的证书:
certbot renew --dry-run
如果这似乎工作正常,请为以下命令配置一个 cron 作业:
certbot renew
恭喜! 您已成功安装 Let’s Encrypt。 感谢您使用本教程在 CentOS 7 系统上安装 Let’s Encrypt SSL With Lighttpd。 如需更多帮助或有用信息,我们建议您查看 Let’s Encrypt 官方网站.