注意1:
如果一个域名一定时间内申请超过5次,会被锁定至少1周时间,还有就是一个IP一天太频繁发起安全证书,也有可能被锁订单
注意2:
申请的免费证书只有90天,后续版本再补充自动续签
前提条件
需要将要认证ssl的域名配置nginx的80端口,域名解析到指定的服务器IP,否则无法认证。
服务器测试环境
CentOS7.9 的nginx,域名是 ssl.域名.com
步骤
-
安装EPEL和Certbot: 先安装EPEL存储库,然后安装Certbot和Certbot Nginx插件。
sudo yum install epel-release -y
sudo yum install certbot python2-certbot-nginx -y -
运行Certbot: 使用Certbot获取并安装SSL证书,指定域名为 ssl.域名.top。
当然,您可以使用命令行选项一次性执行Certbot命令,以避免交互式输入。以下是修改后的Certbot命令,其中包含所有必要的信息:sudo certbot certonly --standalone -d ssl.域名.com --non-interactive --agree-tos --email 88888888@qq.com
在这个命令中:
● --non-interactive 选项使Certbot以非交互模式运行。
● --agree-tos 选项表示您同意Let's Encrypt的服务条款。
● --email 88888888@qq.com 用您的电子邮件地址,以接收证书过期提醒等通知。
如果Nginx配置没有问题并且已经正确安装,您可以继续进行以下步骤配置Nginx使用生成的证书。
● 指定证书保存路径:
● 默认情况下,Certbot会将证书保存到 /etc/letsencrypt/live/ssl.域名.com/
目录中。这个路径包括以下文件:
● fullchain.pem:完整的证书链
● privkey.pem:私钥
● cert.pem:证书
● chain.pem:CA证书链
nginx配置
server {
listen 80;
server_name ssl.域名.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name ssl.域名.com;
ssl_certificate /etc/letsencrypt/live/ssl.域名.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ssl.域名.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/ssl.域名.com/chain.pem;
location / {
# Your application configuration
}
}