"这是一个关于如何申请和使用Let's Encrypt免费SSL证书的说明文档。文档中详细介绍了申请过程,包括系统环境准备、Git的安装、Python版本的要求,以及在不同Linux发行版(如Debian和CentOS)上的操作步骤。此外,还提供了在Nginx服务器上配置SSL证书的指南。"
Let's Encrypt是一个提供免费SSL证书的非营利组织,它的证书适用于各种网站,以实现安全的HTTPS连接。这个证书的生命周期默认为90天,需要定期更新。由于Let's Encrypt与IdenTrust之间的交叉签名,其证书被大多数现代浏览器(如Firefox和Chrome)所信任,确保了网站的安全性。
在开始申请之前,你需要确保你的系统环境满足以下条件:
1. Python 2.7:Let's Encrypt的客户端工具Certbot依赖于Python 2.7或更高版本。
2. Git:用来克隆Certbot的源代码仓库。
对于基于Debian的系统(如Ubuntu),你可以使用`apt-get`命令安装Git:
```
sudo apt-get -y install git
```
而对于基于CentOS的系统(如CentOS 6和7),则使用`yum`命令:
```
sudo yum -y install git-core
```
在安装完Git后,你可以通过以下步骤克隆Let's Encrypt的Certbot客户端:
```
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
```
接下来,运行Certbot的自动化流程来申请证书:
```
./letsencrypt-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com
```
这里,`--standalone`选项表示使用独立模式(无需Web服务器插件),`--email`是你的联系邮箱,`-d`后面跟着你要申请证书的域名。
证书申请过程中,你可能需要同意Let's Encrypt的服务条款并确认你的身份。完成这些步骤后,证书将被保存在`/etc/letsencrypt/live/example.com/`目录下,包括:
- `cert.pem`:证书文件,适用于Apache
- `chain.pem`:证书链文件,适用于Apache
- `fullchain.pem`:包含证书和链的文件,适用于Nginx
- `privkey.pem`:私钥文件
在Nginx配置中,你需要将这些文件路径设置到相应的SSL指令中:
```nginx
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
```
这样,你的Nginx服务器就能使用Let's Encrypt的SSL证书来提供安全的HTTPS服务了。
请确保在证书即将过期时进行更新,以保持网站的持续安全。Let's Encrypt提供了自动续签的功能,你可以配置Certbot定期执行更新任务。