免费SSL/TLS域名证书Certbot配置详细过程

文章目录

  • 1. 在服务器上安装 Certbot
  • 2. 停止 web 服务器
  • 3. 运行 certbot 命令
  • 4. 证书生成位置
  • 5. 配置 web 服务器
  • 6. 重新加载 web 服务器
  • 7. 验证
  • 8. 配置自动续期
  • 发现问题
    • 1. Problem binding to port 80: Could not bind to IPv4 or IPv6.
    • 2. live directory exists for example.com

1. 在服务器上安装 Certbot

  • 对于 Linux 系统,可以通过包管理器安装 Certbot,如 Debian/Ubuntu 使用:sudo apt install certbot,然后输入:“Y”
    installY

2. 停止 web 服务器

  • 停止现有的 web 服务器程序,如 nginx 或 apache。这样可以避免端口冲突(视实际情况而定)。

3. 运行 certbot 命令

  • 这会启动一个临时 web 服务器用来做域名验证,并获取 example.com 和 www.example.com 的证书(其中example需要更换为目标域名)。
    sudo certbot certonly --standalone -d example.com -d www.example.com
    
    执行
    成功

根据证书获取成功的提示信息,可以看出:

  1. 证书和链文件已保存到:/etc/letsencrypt/live/example.com-0002/fullchain.pem
  2. 私钥文件保存到:/etc/letsencrypt/live/example.com-0002/privkey.pem
  3. 证书有效期至2023-11-12
  4. 以后需要续期或更新证书,可以再次运行 certbot
  5. 使用 “certbot renew” 可以自动续期所有证书

通过指定不同的文件名 aihnet.com-0002 避免了与现有证书冲突。接下来的步骤是:

  1. 将新证书配置到 web 服务器程序中,如 nginx 或 apache。
  2. 重新加载 web 服务器使证书生效。
  3. 配置 certbot 的自动续期任务,保证证书持续有效。
  4. 可选删除旧的证书文件。

总体上看,Certbot 已成功帮助获取了新证书,只需要部署到 web 服务器即可完成使用。以后也可以通过 certbot 轻松自动续期。

4. 证书生成位置

  • Certbot 会把证书生成到系统默认路径,如 nginx 的 /etc/letsencrypt/live/example.com/

5. 配置 web 服务器

  • 以 nginx 为例,编辑 /etc/nginx/conf.d/example.com.conf ,指向证书文件路径,并添加 SSL 相关配置。

6. 重新加载 web 服务器

  • 让 nginx 重新加载新的配置文件并启动。

7. 验证

  • 访问网站,检查证书是否正确加载。

8. 配置自动续期

  • 添加 crontab 定时任务,使用 certbot renew 定期续期。

  以上步骤可完成 Certbot 的标准配置。也可以进一步自定义证书保存路径、配置 HTTP 到 HTTPS 重定向等。Certbot 提供了强大的管理 SSL 证书的自动化能力。

发现问题

1. Problem binding to port 80: Could not bind to IPv4 or IPv6.

根据这个错误信息,问题出在Certbot自动验证过程中启动的临时web服务器未能成功绑定80端口。可能原因有:

  1. 80端口被其它进程占用了,需要关闭其他正在使用80端口的程序。可以用netstat -ntlup来检查。检查端口
  2. Certbot默认使用80端口。如果想使用其他端口,可以添加--http-01-port 8080参数来指定端口。
    8080
  3. 防火墙阻止了80端口访问。可以添加规则放行80端口或关闭防火墙测试。
  4. 服务器上存在多个网卡或IP地址,Certbot绑定了错误的地址。可以用--preferred-challenges http参数来强制使用80端口。
  5. 权限不足,需要以root账户运行certbot或使用sudo。
  6. 系统底层资源不足,导致无法打开80端口。可以切换到更强劲的服务器。

  建议先检查80端口情况,关闭占用进程或改换端口。若还未解决,可以尝试关闭防火墙、指定网络地址绑定等方法。保证Certbot能打开80端口则可顺利完成验证,获取证书。

2. live directory exists for example.com

  根据您的命令输出,使用端口8080避免了前面的80端口冲突问题,Certbot验证过程继续进行了下去。但在最后一个步骤时报错显示live目录已存在。这表示您之前已经为example.com生成过证书,并存在默认的证书文件目录/etc/letsencrypt/live/example.com。

出现这个问题的原因可能有:

  1. 你之前使用certbot或者其他工具已经获取过example.com的证书了,现在会冲突。
  2. 上次获取证书过程中失败或被中断,留下了残余文件。
  3. certbot的证书存储路径被修改或指向了自定义目录。
  4. 不同的certbot版本或模式导致了live目录存放路径不一致。

解决方法是:

  1. 检查默认目录,删除或备份 existing 现有的证书文件。
  2. 使用 certbot delete 删除现有证书。
  3. 指定不同的 --cert-path 来改变新证书的存储位置。
  4. 加上 --force-renewal 参数来强制重载证书。

  在清理已存在的旧证书后,就可以重试命令获取新的证书了。也可以考虑切换到 certbot 的 certonly 模式避免冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/69122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Clion 使用ffmpeg 学习1 开发环境配置

Clion 使用ffmpeg 学习1 开发环境配置 一、准备工作1. 准备环境2. 下载FFmpeg 二、操作步骤1. Clion 新建一个C项目2. 修改 CMakeLists.txt3. 修改配置4. 运行测试5. 打印rtsp 流信息的 demo 一、准备工作 在视频处理和多媒体应用程序开发中,FFmpeg 是一个强大的开…

数学建模--逻辑回归算法的Python实现

首先感谢CSDN上发布吴恩达的机器学习逻辑回归算法任务的各位大佬. 通过大佬的讲解和代码才勉强学会. 这篇文章也就是简单记录一下过程和代码. CSDN上写有关这类文章的大佬有很多,大家都可以多看一看学习学习. 机器学习方面主要还是过程和方法. 这篇文章只完成了线性可分方面的任…

Promise常用方法笔记

mixin.methods.getList(xxx) 是axios的二次封装 是通过Promise进行基本封装 let a mixin.methods.getList(toosSet.gettype);let b mixin.methods.getList(toosSet.gettypes);let c mixin.methods.getList(toosSet.gettypess);Promise.all([a, b, c]).then((res) > {aler…

音频应用编程

目录 ALSA 概述alsa-lib 简介sound 设备节点alsa-lib 移植编写一个简单地alsa-lib 应用程序一些基本概念打开PCM 设备设置硬件参数读/写数据示例代码之PCM 播放示例代码值PCM 录音 使用异步方式PCM 播放示例-异步方式PCM 录音示例-异步方式 使用poll()函数使用poll I/O 多路复用…

Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局

概要 现在,NFT与体育竞技正日益紧密地联系在一起。一些体育项目开始推出与赛事或球队相关的NFT,同时也有部分NFT游戏开始举办电子竞技赛事。这种共生发展正在改变体育竞技的生态。 笔者采访了桥牌冠军项目相关负责人,探讨NFT游戏与传统体育竞技的融合潜力。桥牌冠军近期成功举…

postman json复杂数据的模拟

先设置路径 然后可以定义下边数据(Key value) 也可以不定义 看你的情况 [{"mac": "4C-77-66-19-50-65","addressPattern": "98jd","platform": "ios","registrationId": "…

风向变了!智能汽车何以「降本」

随着软件定义汽车的概念逐步落地,以及底盘、动力、座舱、智驾、车身等不同域(分布式或者混合式)的功能更新迭代和融合,汽车行业正在意识到:底层硬件架构重构的迫切性。 事实上,早在2016年,作为传…

UI自动化之关键字驱动

关键字驱动框架:将每一条测试用例分成四个不同的部分 测试步骤(Test Step):一个测试步骤的描述或者是测试对象的一个操作说明测试步骤中的对象(Test Object):指页面的对象或者元素对象执行的动…

mysql 查询优化 、索引失效

查询优化 物理查询优化 通过索引和表连接方式等技术来进行优化,这里重点需要掌握索引的使用 逻辑查询优化 通过SQL 等价变换 提升查询效率,直白一点就是说,换一种查询写法执行效率可能更高 索引失效 计算、函数、类型转换(自动或…

Vue.js 报错:Cannot read property ‘validate‘ of undefined“

错误解决 起因,是我将elemnt-ui登录,默认放在mounted()函数里面,导致vue初始化就调用这个函数。 找了网上,有以下错误原因: 1.一个是你ref写错了,导致获取不了这个表单dom,我这显然不是。 2.…

【javaweb】学习日记Day9 - Mybatis 基础操作

目录 一、删除 (1)在mapper接口执行sql删除语句 ① 注解后sql语句没有提示怎么办? (2)测试层 (3)开启mybatis日志 (4)预编译SQL 二、新增 (1&#…

数据库-多表设计

概述: 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本分为三种: 一对…

2023_Spark_实验四:SCALA基础

一、在IDEA中执行以下语句 或者用windows徽标R 输入cmd 进入命令提示符 输入scala直接进入编写界面 1、Scala的常用数据类型 注意:在Scala中,任何数据都是对象。例如: scala> 1 res0: Int 1scala> 1.toString res1: String 1scala…

【前端】CSS-Flex弹性盒模型布局

目录 一、前言二、Flex布局是什么1、任何一个容器都可以指定为Flex布局2、行内元素也可以使用Flex布局3、Webkit内核的浏览器,必须加上-webkit前缀 三、基本概念四、flex常用的两种属性1、容器属性2、项目属性 五、容器属性1、flex-direction①、定义②、语句1&…

Git学习——细节补充

Git学习——细节补充 1. git diff2. git log3. git reset4. git reflog5. 提交撤销5.1 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时5.2 当提交到了stage区后,想要退回 6. git remote7. git pull origin master --no-rebase8. 分支管理9. g…

风控引擎如何快速添加模型,并实时了解运行状态?

目录 风控模型的主要类型 风控引擎如何管理模型? 模型就是基于目标群体的大规模采样数据,挖掘出某个实际问题或客观事物的现象本质及运行规律,利用抽象的概念分析存在问题或风险,计算推演出减轻、防范问题或风险的对策过程&…

死锁是什么?死锁的字节码指令了解?

用幽默浅显的言语来说死锁 半生:我已经拿到了机考的第一名,就差笔试第一名了 小一:我已经拿到了笔试的第一名,就差机考第一名了 面试官:我很看好你俩,继续"干", 同时拿到2个的第一名才能拿到offe…

win10 ping不通 Docker ip(解决截图)

背景: win10下载了docker desktop就是这个图,然后计划做一个springboot连接docker。 docker部署springboot :docker 部署springboot(成功、截图)_總鑽風的博客-CSDN博客 问题:spring boot部署docker后,docker接口通了&#xff0…

Java之文件操作与IO

目录 一.认识文件 1.1文件是什么? 1.2文件的组织 1.3文件路径 1.4文件的分类 二.文件操作 2.1File概述 三.文件内容操作--IO 3.1JavaIO的认识 3.2Reader和Writer ⭐Reader类 ⭐Writer类 3.2FileInputStream和FileOutputStream ⭐FileInputStream类 …

Weblogic SSRF【漏洞复现】

文章目录 漏洞测试注入HTTP头,利用Redis反弹shell redis不能启动问题解决 Path : vulhub/weblogic/ssrf 编译及启动测试环境 docker compose up -dWeblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi…