https申请免费证书

 

 

一、参考

 

域名安全验证

Generate Wildcard SSL certificate using Let’s Encrypt/Certbot

CentOS 7: Auto-renew Let’s Encrypt SSL certificates using crontab

certbot user guide

 

一、环境准备

 

1.1 一个域名

 

 

1.2 一台服务器

 

 

 

二、安装ssl证书

 

 

2.1 安装certbot

 

yum install certbot

 

查看版本信息

 

certbot --version

certbot 1.9.0

 

2.2 命令行生成证书

 

# 命令行参数如下
# email, 证书到期告警邮箱
# server, letsencrypt证书签发服务器
# d, 需要申请证书的域名

certbot certonly --manual \
  --preferred-challenges=dns \
  --email 15951606335@163.com \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --manual-public-ip-logging-ok \
  -d www.test.com

 

 

2.3 配置主机记录与记录值

 

 

(1) 需要先添加一条A类型记录

 

(2) 配置txt类型的记录

 

 

2.4 生成证书

 

证书保存目录为

/etc/letsencrypt/live/www.test.com

 

三、配置nginx

 

3.1 配置http重定向

 

server {

    listen 80 default_server;
    listen [::]:80 default_server;
    return 301 https://$host$request_uri;
}

 

3.2 配置ssl

 


   server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  poetry.yzthewind.com;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/letsencrypt/live/www.test.com/fullchain.pem";
        ssl_certificate_key "/etc/letsencrypt/live/www.test.com/privkey.pem";

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
        ssl_prefer_server_ciphers off;
           
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    

 

 

3.3 重启nginx

 

service restart nginx

 

 

四、其他

 

4.1 查看过期时间

 

一般证书过期时间为3个月,可以使用下面的两个命令

(1)

openssl x509 -noout -dates -in /etc/letsencrypt/live/www.test.com/cert.pem
 

(2)

certbot certificates

 

 

4.2 自动更新证书有效期

 

利用crontab -e 创建一个新的定期任务,执行证书更新

 

#每个月11号自动更新
0 0 11 * * /usr/bin/certbot renew >> /home/certbot.log 2>&1

 

 

4.2 验证域名安全性

 

posted @ 2020-12-12 16:51  一曲广陵散yz  阅读(186)  评论(0编辑  收藏  举报