使用Ubuntu18.04和16.04LTS上Let’s Encrypt保护Nginx的方法
概述
本文将介绍如何在Ubuntu 18.04和16.04 LTS操作系统上使用Let's Encrypt来保护Nginx服务器。Let's Encrypt是一个提供免费SSL证书的颁发机构,它可以帮助您为您的网站启用HTTPS,增强安全性。Nginx是一个流行的Web服务器软件,本文将演示如何在Nginx上配置Let's Encrypt证书。

步骤一:安装Nginx
首先,我们需要在Ubuntu服务器上安装Nginx。打开终端并运行以下命令来安装Nginx:
```

sudo apt update
sudo apt install nginx
安装完成后,您可以通过运行以下命令检查Nginx是否成功安装:
nginx -v
步骤二:安装Certbot
接下来,我们需要安装Certbot工具,它是Let's Encrypt项目的官方客户端。Certbot可以自动获得和安装SSL证书。
在Ubuntu 18.04上,您可以使用snap包管理器来安装Certbot:
sudo snap install --classic certbot
在Ubuntu 16.04上,您可以通过添加Certbot PPA存储库来安装Certbot:
sudo add-apt-repository ppa:certbot/certbot
sudo apt install certbot
步骤三:配置Nginx
现在,我们需要修改Nginx的配置文件以使用Let's Encrypt证书。打开Nginx的默认配置文件:
sudo nano /etc/nginx/sites-available/default
找到`server_name`行并将其更改为您的域名或IP地址。确保您的域名已正确解析到服务器。
接下来,在该文件中添加以下代码块,用于配置HTTPS重定向和SSL证书路径:
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/html;
}
保存并关闭文件后,重新加载Nginx配置:
sudo systemctl reload nginx
步骤四:获取Let's Encrypt证书
现在,我们可以使用Certbot工具来获取和安装Let's Encrypt证书。运行以下命令:
sudo certbot --nginx
Certbot将自动检测Nginx配置并引导您完成证书申请过程。按照提示输入您的电子邮件地址和同意条款,然后选择要为其生成证书的域名。
一旦成功获得证书,Certbot将自动更新Nginx配置以使用SSL证书,并重新加载Nginx。
步骤五:自动续订证书
为了确保您的证书始终有效,您应该设置自动续订任务。Certbot已经为您创建了一个cron作业来自动续订证书。
您可以通过运行以下命令检查cron作业:
sudo crontab -l
确保其中包含类似以下内容的一行:
0 0 * * * /usr/bin/certbot renew --quiet
这将在每天的午夜自动续订证书。
结论
恭喜!您已成功使用Let's Encrypt保护了Nginx服务器。现在,您的网站将通过HTTPS进行加密通信,提供更安全的用户体验。
请记住定期检查证书的到期日期,并确保自动续订任务正常工作。