📅  最后修改于: 2023-12-03 15:06:45.555000             🧑  作者: Mango
Certbot 是一个由 EFF(Electronic Frontier Foundation,电子前沿基金会)开发的免费的开源证书颁发工具,用于自动化为网站启用 HTTPS(使用SSL/TLS 加密协议),以提高网站的安全性。Certbot 支持大多数的操作系统以及 Web 服务器,例如 Apache、Nginx、Haproxy 等。
首先,请确保你已经使用管理员权限登录到你的服务器(例如通过 SSH 访问),并已经启用了超级用户模式。接下来,使用以下命令安装 Certbot:
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot
使用 Certbot 生成证书非常容易,只需要运行以下命令即可:
sudo certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com
其中,/var/www/example
是你网站的根目录,example.com
和 www.example.com
是你的域名。请根据你自己的情况修改这些选项。Certbot 运行时会自动检查你的网站配置,然后生成相应的证书和密钥,并将其保存在 /etc/letsencrypt/live/example.com
目录下。
生成证书后,你需要将其配置到你的 Web 服务器中。以下是 Apache 和 Nginx 的示例配置:
在你的 Apache 配置文件中添加以下内容:
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
在你的 Nginx 配置文件中添加以下内容:
server {
listen 443 ssl;
server_name example.com www.example.com;
root /var/www/example;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
证书通常有一个有限的有效期,因此你需要定期更新证书,以确保网站仍然安全。使用 Certbot,你可以轻松自动化这个过程。以下是启用自动更新的示例命令:
sudo certbot renew
你可以将此命令添加到一个 cronjob 中,以每天自动更新证书。例如:
0 0 * * * /usr/bin/certbot renew &>> /var/log/certbot-renew.log
到此为止,你已经成功地使用 Certbot 生成了 SSL/TLS 证书,并将其配置到你的 Web 服务器中。现在你可以通过 HTTPS 安全地访问你的网站了!