首页 > 其他分享 >certbot简单使用

certbot简单使用

时间:2023-01-02 17:55:22浏览次数:55  
标签:简单 证书 -- xxx ssl 使用 com certbot

ssl一直用的是阿里的免费证书,但是每年需要定时更换证书,而且数量上也有限制,这就很烦,我这么懒,别说一年一换,就是两年一换证书我都懒得打开后台~

科普

为了加快推广 https 的普及, EEF 电子前哨基金会、 Mozilla 基金会和美国密歇根大学成立了一个公益组织叫 ISRG ( Internet Security Research Group ),这个组织从 2015 年开始推出了 Let’s Encrypt 免费证书

常用命令

certbot renew -q // 续签
certbot certificates // 查看证书
openssl x509 -in [公钥xx.pem] -noout -dates  // 检测过期时间
openssl s_client -connect www.zhaizhaiplan.com:443  // 检查域名端口配置情况

安装

centOS

yum update
yum install certbot

debian/deepin/ubuntu

apt update
apt install certbot -y

生成证书

certbot certonly

第一次使用,会提示输入邮箱: [email protected]
输入域名: xxx.com
输入网站的绝对路径: /home/wwwroot/xxx
当然,我建议直接一步到位:

certbot certonly --webroot -w /home/wwwroot/xxx -d xxx.com

注意:
使用生成证书的命令是有接口限制的,有网友说可以在结尾加个 --dry-run。但是我还是不建议频繁调用,如果报错了先排查出问题再继续

certbot certonly --webroot -w /home/wwwroot/xxx -d xxx.com --dry-run

证书地址:

    /etc/letsencrypt/live/xxx.com/fullchain.pem;
    /etc/letsencrypt/live/xxx.com/privkey.pem;

配置nginx

server {
    # 某个版本前的老版本可以用ssl on,我的是 nginx/1.16.1,用listen
    listen 443 ssl;
    ...
    ssl_certificate    /etc/letsencrypt/live/xxx.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/xxx.com/privkey.pem;

证书续期

certbot默认注册的证书,有效期是90天, 需要定期更新证书

手动续期

手动续期需要注意两点:
1.80端口没有被占用,因为更新证书需要用到80端口。
2.在到期前30天之内才能续期,否则certbot会判断没有必要进行续期。

certbot renew

自动续期

脚本

touch auto_update_ssl.sh
vim auto_update_ssl.sh
    #!/bin/bash
    # 每月执行一次

    # 关闭nginx
    nginx -s quit
    
    # 证书更新完毕后,将关闭的nginx启动
    certbot renew --renew-hook "nginx" > /root/shell/log/auto_update_ssl.log 2>&1 &

计划任务

crontab -e

0 0 1 * * /root/shell/auto_update_ssl.sh

问题

使用过程并不是一帆风顺的,这里枚举下安装使用过程中的一些问题

# urllib3问题********
python ImportError: cannot import name UnrewindableBodyError
=>
pip uninstall urllib3
sudo pip install --upgrade urllib3

# pyOpenSSL问题********
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
=>
yum install http://cbs.centos.org/kojifiles/packages/pyOpenSSL/16.2.0/3.el7/noarch/python2-pyOpenSSL-16.2.0-3.el7.noarch.rpm

# 缺少文件********
http://xxx.com/.well-known/acme-challenge/OMxmbVthqV6XEcG5lG8jCvxa5k2A7ELowLFWZzOaatA
404
=> 创建名为[OMxmbVthqV6XEcG5lG8jCvxa5k2A7ELowLFWZzOaatA]的文件复制到相应路径即可

参考链接

中文文档
参考CSDN的一篇文章

标签:简单,证书,--,xxx,ssl,使用,com,certbot
From: https://www.cnblogs.com/xuduan/p/17020287.html

相关文章

  • 使用Alist白嫖百度一刻相册无限空间图床
    注意文中所示软件功能均为免费(截至文章发布日期)请珍惜免费软件,来之不易:Replit提供免费Docker服务,因此,在上传图片的时候,尽量在百度一刻相册客户端内上传(如果是能重定向......
  • JavaScript 函数-函数概念,使用,函数参数,返回值,arguments的使用,函数的申明方式
    JavaScript函数目录JavaScript函数1.函数的概念2.函数的使用2.1声明函数2.2调用函数2.3函数的封装3.函数的参数3.1形参和实参3.2函数参数的传递过程3.3函数形......
  • nginx使用小记
    中文wiki社区:http://wiki.codemongers.com/NginxChs一.nginx安装1.下载nginx:http://sysoev.ru/nginx/download.html(官方下载页面)wgethttp://sysoev.ru/nginx/nginx......
  • JAVA定时调度框架Quartz使用案例
    背景:             近期项目中遇到跨区调拨商品的需求,比如A区和B区,需要判断A区或者B区某种sku是否需要从对方库调拨商品来补充货源,避免因缺失商品而出现订单......
  • 简单指针实现两个数比较大小
    我们要先知道指针变量的作用是储存你指定变量所在的地址。因为按照计算机规则你所定义的值会被电脑储存在一个位置,只要是位置就会有地址。#include<stdio.h>intmain(){in......
  • 数字三角形 —— java蓝桥杯(简单)
    题目描述上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。路径上的每......
  • 04使用Pinia实现Vuex项目全球化
    在上一章中使用的Vuex作为状态管理实现的全球化,这篇文章使用Pinia作为状态管理。现有用户可能对Vuex更熟悉,它是Vue之前的官方状态管理库。由于Pinia在生态系统中能......
  • 第十三章《集合》第6节:使用Collections类操作集合
    ​Java提供了一个操作集合的工具类Collections,这个类中提供了大量方法对集合元素进行排序、查询和修改等操作,此外还提供了将集合对象设置为不可变、对集合对象实现同步控制......
  • rtthread适配及使用serial_v2的问题
    rtthread适配及使用serial_v2的问题主控芯片:STM32F407ZG1.适配问题本项目工程一开始使用的主控是STM32L496,正常移植使用serial_v2没有问题。将工程复制下来后使用rtthr......
  • Win10使用SSH反向隧道(端口转发)连接远程桌面
    应用场景:如果你有Linux云主机(腾讯、华为等),且公司有一台只有内网IP(或动态IP)的Win10工作机;你计划在家里工作时,通过家里的电脑连接公司的工作机(且不想使用类似Teamvi......