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 验证域名安全性

原文地址:https://www.cnblogs.com/thewindyz/p/14125255.html