centos7 使用letsEncrypt certbot 生成免费的ssl证书 渐进学习

2023-05-16

1、我们将会使用letsencrypt证书颁发机构里的certbot客户端

certbot官网,国内也可访问

https://certbot.eff.org/

2、准备工作,这一步很重要。

  1. 你首先需要有一个解析通过了的域名,什么意思呢,解析过后的域名意味着域名就是ip地址 , ip地址就是域名,我们访问域名如同访问ip地址。
  2. 你的服务器需要安装好一个nginx,并且需要配置好,能够通过http协议 + 域名访问到你的网站。
    这里我们只需要简单配置一下,不要配置复杂了,目地只是为了让certbot能够识别到目标域名。
server {
	listen      80;
    server_name xxx.xxx.xxx;
    root ~/project/dist;
}
#xxx.xxx.xxx是你解析好了的域名
#root后边是你项目的根目录
#配置好后你得要确保浏览器能够访问到你的服务,之后才能进行证书申请

3. 访问certbot官网

  1. 我们选择运行在python环境中的nginx,这里的nginx指的是你的服务是用nginx启动的,后边的pip指的是python环境,意为我们要用pip来安装certbot客户端。
    在这里插入图片描述
  2. 之后的操作不要跟着官网做,往往实现不了。
    官网的第二步中,我们是centos系统,所以选择下边的命令,但是centos的包管理工具是yum,所以我们将dnf换成yum
yum install python3 augeas-libs #安装python3环境,centos7默认是2.x的,版本太低了

在这里插入图片描述
3. 第三步就是先清除本机先前安装的certbot。
官网提供了几个办法,但是都是依赖于各个系统的包管理工具而言的,如果你不是用包管理工具装的,那自然通过官网提供给你的方法就卸载不掉。比如,我的是centos的yum包管理工具,我就可以先清理一下certbot(安装没安装都可以执行以下,不影响), 其他包管理工具的卸载方法都类似。

yum remove certbot
  1. 设置一个python虚拟环境
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip
  1. 使用pip下载certbot客户端
sudo /opt/certbot/bin/pip install certbot certbot-nginx
  1. 将环境certbot设置为环境变量,其实就是做了一个软连接。
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
  1. 现在开始生成证书,注意,生成证书之前需要把你之前的nginx停掉,不能让他启动,而且,nginx的配置必须是全局的,意思就是你在终端的任何目录下输入nginx -v都不会报错,当然如果你没有把nginx命令放在系统变量里,你也可以通过如下命令指定nginx的配置文件路径,但是会报一堆文件找不到的错,不过好在我解决了,这里我真心不推荐你们使用这种办法,与其这样不如把nginx装成全局的。
#不推荐,指定nginx配置文件的路径
certbot --nginx --nginx-server-root=/some/other/path/nginx/conf

#推荐
sudo certbot certonly --nginx

输入上边的命令后会让你确认几次,前边的输入y(yes)就行,最后一个是让你选择需要生成证书的域名,这个域名不是我的,就不给大家看了。
在这里插入图片描述
生成完成之后证书会自动存放在/etc/letsencrypt/live下,生成证书的域名会有一个文件夹在这里边,比如刚才你为aa.com.cn生成了一个证书,那在/etc/letsencrypt/live下就会有一个aa.com.cn的文件夹,证书就放在里边。

4. 配置https协议(添加ssl证书)

编辑你的nginx.conf文件。在原来的基础上添加一个ssl证书就行了。

server {
        listen       443 ssl;
        server_name  xxx.xxx.com.cn;

        error_log logs/xxx_error.log;#错误日志文件
        access_log logs/xxx_access.log;#访问日志文件

		#ssl证书
        ssl_certificate           /etc/letsencrypt/live/xxx.xxx.com.cn/fullchain.pem;
        ssl_certificate_key       /etc/letsencrypt/live/xxx.xxx.com.cn/privkey.pem;
        ssl_session_timeout       5m;
        ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers               ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
        ssl_session_cache         shared:SSL:50m;
        ssl_prefer_server_ciphers on;

        root /root/nft/nft_backend_ui; #项目的根目录
        
        location ~ ^/art-auction/ {
               proxy_pass http://127.0.0.1:9000; 文件服务地址
        }

        #转发到后端        
        location ~ ^/api/(portal|system|common|user)/ {
              rewrite ^/api/(.*)$ /$1 break;
              proxy_pass http://127.0.0.1:9999;
        }
    }

到这里就完成了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7 使用letsEncrypt certbot 生成免费的ssl证书 渐进学习 的相关文章

  • mac风格的windows11

    结果 工具下载 链接 xff1a https pan baidu com s 1bVkGI2FZ1Y6tziRMFdP3fw 提取码 xff1a MACC windows11微软官网纯镜像 链接 xff1a https pan baidu
  • AD学习问题记录(四):AD21布线时如何更改线宽

    目录 问题 xff1a 布线时发现线比需要的细解决 xff1a 更改规则结果总结 目前使用的版本是AD21 问题 xff1a 布线时发现线比需要的细 在PCB布线的时候 xff0c 发现线宽比较细 xff0c 于是在右侧的Propertie
  • FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ‘:app:compile...

    1 错误原因 笔记 在运行android的项目时报错 咱就是说代码不知道检查多少遍了 反正代码可以肯定的是没错的 于是就去网上搜索啊 按照提示在build gradle Module app 加了如下代码 android compileOp
  • Java实现二分搜索

    二分查找 xff1a 是一种算法 xff0c 其输入是一个有序的元素列表 xff08 必须是有序的 xff09 xff0c 如果查找的元素包含在列表中 xff0c 返回其索引 xff0c 否则返回负数 比如说有一个1 100的数字 xff0
  • Python if else条件语句你懂了吗?

    在 Python 中 xff0c 可以使用 if else 语句对条件进行判断 xff0c 然后根据不同的结果执行不同的代码 xff0c 这称为选择结构或者分支结构 Python 中的 if else 语句可以细分为三种形式 xff0c 分
  • 嵌入式学习系统里的ROM和RAM(转载)

    一个嵌入式项目在立项时 xff0c 其中有个重要的环节就是对系统所需的RAM和ROM用量进行评估 xff0c 在满足系统需求的前提下 xff0c 尽量降低硬件成本 xff0c 据说同等大小的RAM价格大概是ROM的6倍 大部分的资料都宣称程
  • 关于Mysql8.0.22服务无法启动问题

    关于Mysql8 0 22服务无法启动问题 1 官网下载 解压完成后 不存在data文件夹 也不要自己创建 后面会用命令生成 请往后看 2 创建my ini文件 xff08 一定要放在bin目录下 xff0c 不要放在mysql8 0 22
  • 查找Ubuntu中安装软件的位置

    查找Ubuntu中安装软件的位置 下面仅自我学习记录只做参考 xff0c 不可全信 通常使用ps e 找到软件的具体名字 xff0c 然后进行位置查找 自我记录 1 执行程序查看 对于有的程序没有效果 type 软件名 2 通过进程查看 p
  • Python爬虫:第三章 数据解析 xpath解析(12)

    第三章 数据解析 xpath 解析xpath 解析基础example1 爬取58二手房中的房源信息example2 解析下载图片数据example3 全国城市名称爬取 xpath 解析 xpath 解析基础 span class token
  • java获取项目文件绝对路径

    该方法是先根据指定目录创建文件目录后 xff0c 再获取起绝对路径 xff0c 可先在指定目录中放入指定文件 xff0c 这样就可以直接获取起绝对路径 span class token keyword public span span cl
  • 三分钟带你了解最成熟最流行的LAMP网站应用架构

    三分钟带你了解最成熟最流行的LAMP网站应用架构 一 LAMP概述1 各组件的主要作用2 各组件安装顺序 二 编译安装Apache httpd服务准备工作1 关闭防火墙 xff0c 将安装Apache所需软件包传到 opt目录下2 安装环境
  • IDEA通过maven配置Spring保姆级教程

    写在前面 xff1a 此篇文章主要是记录IDEA利用maven配置Spring的全过程 由于本人也是慢慢探索出来的 xff0c 所以有不全或者遗漏的地方 xff0c 还请大家斧正 请耐心看完文章 xff0c 前期工作做完后IDEA才可以配置
  • 策略梯度算法(Policy Gradient)逐行代码详解

    理论部分以及完整代码参看之前的博客 xff1a https blog csdn net qq 47997583 article details 124506650 本文章介绍的是策略梯度算法中的REINFORCE实现 上图为算法流程图 xf
  • python爬虫(自动下载图片)

    爬虫第一步下载第三方工具 requests包 win 43 R 输入cmd点击确定或回车 输入以下命令下载requests包 requests包是python爬虫常用的包 他的下载方式是 pip install requsts 如果觉得下载
  • python json格式转字典

    impor json req 61 json loads 转换的内容
  • mysql安装5.7出现闪退解决办法

    MySQL下载官网 下载地址 xff1a https dev mysql com downloads mysql 我之前用的是5 5的版本升级到5 7是将所有的数据生成到文件里 命令 mysqldump u root p all datab
  • 小程序设置、获取本都缓存、发送请求、渲染数据、转发当前页面、下拉刷新页面

    设置 获取缓存 xff0c 发送请求 xff0c 渲染数据 xff0c 转发当前页面 设置 获取本地缓存设置本地缓存 xff08 wx setStorage xff09 获取本地缓存 xff08 wx getStorageSync xff0
  • cnpm安装步骤

    安装nodeJS 官网下载 xff1a http nodejs cn download 选择其他版本下载地址 https nodejs org zh cn download releases 选版本点击下载 然后下载后缀名为msi 因为安装
  • likeadmin权限管理菜单报错:AxiosError

    报错图片 xff1a 这个原因是后端返回的 JSON 数据太多而导致前端报错 xff0c 可能是因为前端无法处理大量数据 下面是一些可能导致前端代码处理大量数据出现问题 返回json数据中的末尾有说到数据太多了的原因 然后我去数据库的sys
  • Vue安装

    Vue安装 一 安装二 使用步骤1 在项目中使用vue2 使用命令创建vue项目 一 安装 安装vue之前需要安装nodeJS 1 需要安装Node js 可以从官方网站进行下载并安装 2 这篇博客有详细的步骤 Node js安装详解 3

随机推荐

  • Thinkphp6模型关联

    文章目录 前言一 一对一关联示例 二 一对多三 多对多四 示例总结hasManybelongsTohasOne 前言 ThinkPHP 6 模型关联是指使用 PHP 对象关系映射 xff08 ORM xff09 机制 xff0c 通过模型类
  • Linux----生产者与消费者

    生产者与消费者 模型场景分析 xff1a 编程流程 xff1a 生产者同步流程消费者同步流程 代码实现主函数生产者线程函数消费者线程函数 模型场景 分析 xff1a 缓冲区buff中存放数据 生产者和消费者数目不固定 xff0c 生产者向缓
  • 一篇文章了解Like用法及常见索引失效情况

    1 简介 本文主要通过介绍Like索引及常见索引失效情况 xff0c 以MySQL为例 2 EXPLAIN关键字 一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划 EXPLAIN 语句 就可以看到某
  • Linux——进程和计划任务管理(理论+实验)

    目录 前言一 程序 进程线程概述1 1 程序1 2 进程1 3 线程1 4 程序 进程和线程的关系1 5 程序和进程的关系 二 查看进程2 1 1 ps 命令 查看静态的进程统计信息 xff08 Processes Statistic xf
  • Uncaught SyntaxError: Unexpected token ‘var‘

    遇到Uncaught SyntaxError Unexpected token 39 var 怎么去解决 1 发现报错 xff0c 就去找报错 2 怎么查找这个报错并修改这个报错 3 为什么我写的时候没有提示报错 xff0c 运行的时候才显
  • 如何使用Maven创建Mybatis项目

    1 打开idea xff0c 依次点击左上角的File gt New gt project 2 选择Maven xff0c 然后点击Next 3 通过点击这个文件夹进行文件存放地址的改变 xff0c 然后输入项目的名字 4 再点击Finis
  • 树莓派3B+raspbian+docker+hassio安装教程

    说明 1 此文转载 侵删 参考https bbs hassbian com thread 3501 1 1 html 2 修改echo 34 96 date 43 H M S 96 gt gt gt gt gt gt gt gt gt gt
  • Linux - 开机启动流程

    目录 一 掌握开机启动流程的意义 xff1a 1 1 为什么需要了解开机启动流程 xff1f 1 2 在日常的运维过程中 xff0c 是否会遇到机器出现问题启动不了 xff1f 1 3 开机启动流程的意义 二 开机启动流程 2 1 开机启动
  • 关于Ubuntu中出现:Unable to fetch some archives, maybe run apt-get update or try with --fix-missing问题

    在Ubuntu有网络的情况下 xff0c 如果出现在进行 apt update或者apt install时 xff0c 出现Unable to fetch some archives maybe run apt get update or
  • 2022年宜春市职业院校技能大赛中职组“网络搭建与应用”赛项任务书

    2022年宜春市职业院校技能大赛中职组 网络搭建与应用 赛项任务书 xff08 总分1000分 xff09 赛题说明 一 竞赛内容分布 网络搭建与应用 竞赛共分二个部分 xff0c 其中 xff1a 第一部分 xff1a 网络搭建及安全部署
  • Java之变量的作用域和初始化

    write xff1a 2022 4 28 前文我们学习了Java的数据类型 xff1a Java之数据类型 xff0c 本文我们学习变量的作用域和初始化 xff0c 文中有大量使用实例讲解分析 xff0c 需耐心解读代码 文章目录 1 变
  • springboot集成mybatis:查询数据库,返回的结果为null的解决办法

    springboot集成mybatis xff1a 查询数据库 xff0c 返回的结果为null的解决办法 问题重现 xff1a 数据库中的数据 查询的结果 xff1a 也就是说我数据库中有几个数据就有几个null值 这就很奇怪了 xff0
  • springboot使用thymeleaf后找不到模板(五个细节)已解决

    问题 xff1a springboot使用thymeleaf模板后找不到html模板 第一种情况 xff1a 先说第一种情况 xff0c 也是我出现问题的原因 xff1a 那就是导入thymeleaf的命名空间后 xff0c 粗心大意的将t
  • 一篇实现springboot集成elasticsearch的增删改查

    准备工作 springboot版本 span class token generics span class token punctuation lt span parent span class token punctuation gt
  • centos7连接不上网络,保姆级演示,亲测,亲测

    centos连接网络无非就大 五步 写在前边 xff1a vmware16 centos7 1 打开vm xff1a 编辑 虚拟网络编辑器 更改设置 2 有三个网络名称 VMnet0 xff1a 选择仅主机模式 xff0c 勾选下边两个选项
  • 简单三步,实现idea远程debug

    远程debug xff0c 简单三步 这里默认你已经打好了jar包 第一步 xff0c 编辑idea配置 1 1 点击edit configurations 1 2 点击 43 号选择Remote JVM Debug 1 3 进行配置 xf
  • shell把变量的值作为变量使用

    有那么一种生产环境 我有一个变量 xff0c 变量有一个初始值比如count 61 1 我想将count计算或者处理后的值再次作为参数传递 举个例子 span class token assign left variable name sp
  • lamp配置

    lamp独立配置 简介 所谓lamp xff0c 其实就是由Linux 43 Apache 43 Mysql MariaDB 43 Php Perl Python的一组动态网站或者服务器的开源软件 xff0c 除Linux外其它各部件本身都
  • Archlinux系统屏幕花屏

    我的电脑 xff0c 联想Y7000 xff0c 2019款 xff0c Archlinux内核版本 xff0c 系统情况如下 花屏样例 xff0c 这只是其中一种花屏样式 xff0c 屏幕一直不受控制的在闪动 出现这种情况不难猜到是显卡驱
  • centos7 使用letsEncrypt certbot 生成免费的ssl证书 渐进学习

    1 我们将会使用letsencrypt证书颁发机构里的certbot客户端 certbot官网 xff0c 国内也可访问 https certbot eff org 2 准备工作 xff0c 这一步很重要 你首先需要有一个解析通过了的域名