nginx 部署 Let's encrypt 免费ssl证书流程

nginx 部署 Let's encrypt 免费ssl证书流程

网站域名为www.2kju.com, 介绍部署 Let's Encrypt 免费ssl证书的方法

安装nginx

首先确保安装了nginx(我的是宝塔安装的nginx),没有装的话执行命令

# 支持中文
yum install -y langpacks-zh_CN
yum install -y nginx

# 保证以后重启系统会自动启动nginx服务
systemctl enable nginx

安装certbot

我们采用 certbot 脚本方式申请 let's encript 证书,依次执行如下命令安装该工具:

yum install -y epel-release
yum install -y certbot

执行命令

certbot certonly -d *.2kju.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

一般来说都要输入邮箱啥的,一路点过去就完事了

假如出错显示

certbot.errors.AuthorizationError: Some challenges have failed.

这就得按照提示来去进行txt验证

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.YOURDOMAIN with the following value:

Fhx3AXM****************e4TchYU

Once this is deployed,
-------------------------------------------------------------------------------
Press Enter to Continue

此时登录域名管理后台,添加_acme-challenge.YOURDOMAIN域名的TXT记录,值为Fhx3AXM****************e4TchYU,保存后输入以下命令进行确认已经正常解析:
dig -t txt _acme-challenge.YOURDOMAIN
如果返回结果中有上面填写的值说明已经添加并解析成功,此时返回证书更新界面按回车继续.正常情况下会返回如下结果.

Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem

证书续签

宝塔后台任务,添加

certbot renew --quiet --renew-hook "/etc/init.d/nginx reload"

保证每天执行一次即可

取消证书

certbot revoke --cert-path /etc/letsencrypt/live/2kju.com/cert.pem
certbot delete --cert-name 2kju.com

niginx 配置

server{
    listen 443 ssl;
    server_name  www.2kju.com;
    ssl_certificate "/etc/letsencrypt/live/2kju.com/fullchain.pem";
    ssl_certificate_key "/etc/letsencrypt/live/2kju.com/privkey.pem";
    
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
}
posted @ 2021-12-10 15:26  zhenyuantg  阅读(784)  评论(0编辑  收藏  举报