域名注册、解析与https证书获取

2020-04-05  本文已影响0人  redpeanuts

以下操作,均在centos7系统

1.域名注册、解析

阿里云申请需要备案等一系列耗时的工作,我仅仅是为了个人玩耍,所以用的是下面这个,它同时提供域名解析服务,30分钟即可搞定,支持支付宝
申请地址
注册教程
解析教程

2.获取证书

此证书取自https://letsencrypt.org/
安装certbot
certbot:yum install -y python36 && pip3 install certbot
安装完毕后,运行certbot --help可以查看该工具的命令详情。
获取证书(80、443端口不能被占用,需要先关闭nginx,systemctl stop nginx)
certbot certonly --standalone -d redpeanuts.com -d www.redpeanuts.com
查看证书位置
certbot certificate

nginx配置

server {
    listen 80;
    server_name redpeanuts.xyz;# 改成你的域名
    rewrite ^(.*) https://$server_name$1 permanent;
}

server {
    listen       443 ssl http2;
    server_name redpeanuts.xyz;//域名
    charset utf-8;
    root /home/html/;

    # ssl配置
    #ssl_protocols TLSv1.2 TLSv1.3; # tls 1.3要求nginx 1.13.0及以上版本
    #ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_ecdh_curve secp384r1;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;
    ssl_certificate /XXX;# 证书地址根据上一步的命令可以获取到
    ssl_certificate_key /XXX;#证书密钥文件地址

    access_log  /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location / {
        index  index.html;
    }
}

重启nginx
先测试config文件是否可用
nginx -t
重启
systemctl restart nginx
再用浏览器去访问你的网址,就不会提示不安全了

证书续签

证书的有效期一般是两个月,到期之后需要再次申请,可以用crontab定时任务自动更新
新建cert.sh

systemctl stop nginx
certbot certonly --standalone -d haochifood.xyz -d www.haochifood.xyz
systemctl start nginx

然后新建定时任务,每月28号23:59更新

crontab -e

59 23 28 * * /bin/sh /etc/nginx/conf.d/cert.sh
上一篇 下一篇

猜你喜欢

热点阅读