• CentOS7下使用Certbot+Nginx搭建Https环境


    Let's Encrypt是一个为网站提供免费的SSL/TLS证书的机构。官方推荐使用Certbot工具进行签发。Certbot可自动签发Let's Encrypt证书,但证书有效期只有三个月,可以通过配置定时任务进行自动续期,以此实现永久生效的https环境。

    本文使用Certbot+Nginx进行单域名和泛域名的https环境搭建。

    单域名证书:只能保护一个域名,可以是顶级域名也可以是二级域名

    泛域名证书:也叫通配符证书,可以保护一个域名及该域名下所有二级域名,不限制下级域名数量

    1. 安装Certbot

    yum install certbot python2-certbot-nginx
    

    2. 安装单域名证书

    2.1 自动配置nginx

    运行如下命令会自动下载证书并配置nginx。未测试

    certbot --nginx
    

    2.2 手动配置nginx

    运行如下命令会自动下载证书但需要自己配置nginx。已测试

    • 生成证书并下载
    certbot certonly --nginx
    

    若nginx未安装在默认路径(/etc/nginx or /usr/local/etc/nginx)下需自己指定nginx路径,到conf目录

    certbot certonly --nginx --nginx-server-root=/root/nginx/conf
    
    • 输入证书相关信息
      在这里插入图片描述

    • 查看证书存储位置
      在这里插入图片描述

    • 配置nginx
      在这里插入图片描述

    • 重启nginx

      若此前nginx已配置https,直接使用nginx -s reload即可

      若此前nginx未配置https,需要将nginx进程kill掉,然后使用nginc -c 配置文件路径进行启动

    • 此时用已配置的域名进行https访问正常

    3. 安装泛域名证书

    按照如下步骤生成泛域名证书。已测试

    • 使用泛域名生成证书。

      *.test.com替换为自己的泛域名即可

      certbot certonly --preferred-challenges dns --manual -d *.test.com --server https://acme-v02.api.letsencrypt.org/directory
      
    • 查看验证信息。先不要回车
      在这里插入图片描述

    • 添加域名解析,以阿里云为例
      在这里插入图片描述

    • 验证解析成功
      在这里插入图片描述

    • 回到使用泛域名生成证书的界面,回车,等待完成
      在这里插入图片描述

    • 配置nginx
      在这里插入图片描述

    • 重启nginx

      若此前nginx已配置https,直接使用nginx -s reload即可

      若此前nginx未配置https,需要将nginx进程kill掉,然后使用nginc -c 配置文件路径进行启动

    • 此时使用满足泛域名条件的域名进行https访问均正常。

    4. 续期

    配置定时任务进行续期。未测试

    echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
    
  • 相关阅读:
    Yslow的A评级指南
    Sqlserver 数据库自动备份
    他们如果什么也没有做,那将是我来世上的最大遗憾。
    规划人生
    安装程序无法复制一个或多个文件。特定错误码是0x4b8。
    Sqlserver数据库的恢复
    Android新手之旅(3) 信息的输出
    PDF开发控件
    通过快盘搭建自己的svn服务器
    Android新手之旅(2) 新手问题
  • 原文地址:https://www.cnblogs.com/jinjiyese153/p/13396918.html
Copyright © 2020-2023  润新知