HTTPS 证书生成脚本详细讲解

news2024/9/29 7:25:18

前言

HTTPS证书的作用是用于保障网站的安全性。在HTTPS协议中,通过使用证书来实现客户端与服务器之间的认证和数据加密,防止中间人攻击、信息泄漏等安全问题的发生。https证书也就是SSL证书,我们首先要确定好需要 https 安全连接的域名,如果有多个域名需要 https,则可以选择多域名SSL证书或者通配符SSL证书,还有环度网信力推的 Flex 模式证书(即可以在一张SSL证书中随时添加需要https的全域名或者通配符域名。)

一、环境配置

直接打开命令行创建这些文件夹:certbot、config、work、Certbot

mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

mkdir -p ~/.secrets/certbot
mkdir -p ~/.certbot/config
mkdir -p ~/.certbot/work
mkdir -p ~/Library/Logs/Certbot

二、配置域名的密钥

在命令行执行:open ~/.secrets/certbot
打开这个文件夹,然后把域名的密钥文件(.ini)放在里面,这个文件是在域名的后台下载的。

三、脚本编写

脚本cert-util.py的功能:用于自动化管理 SSL 证书的创建和更新。它使用 Certbot 工具与 Cloudflare 的 DNS 服务集成,通过命令行参数指定要创建或更新证书的域名。

#!/usr/bin/env python3
import click
import subprocess
from os.path import expanduser


@click.command()
@click.argument('command', nargs=1, type=click.Choice(['renew', 'create']))
@click.option('--domain', '-d', default=None, help='Domain to create/renew certificate for')
def main(command, domain=None):
    if command == 'renew':
        renew()
    elif command == 'create':
        subprocess.run(['certbot', 'certonly',
                        '--dns-cloudflare',
                        '--dns-cloudflare-credentials',
                        expanduser('~/.secrets/certbot/cloudflare.ini'),
                        '--config-dir', expanduser('~/.certbot/config'),
                        '--work-dir', expanduser('~/.certbot/work'),
                        '--logs-dir', expanduser('~/Library/Logs/Certbot'),
                        '-d', domain])
    else:
        print('Command not recognized')


def renew():
    subprocess.run(['certbot', 'renew',
                    '--dns-cloudflare',
                    '--dns-cloudflare-credentials',
                    expanduser('~/.secrets/certbot/cloudflare.ini'),
                    '--config-dir', expanduser('~/.certbot/config'),
                    '--work-dir', expanduser('~/.certbot/work'),
                    '--logs-dir', expanduser('~/Library/Logs/Certbot')])

if __name__ == '__main__':
    main()

四、脚本运行的环境配置

1、在命令行执行:pip install certbot
2、在命令行执行:pip install certbot-dns-cloudflare

cert-util.py该文件是一个可执行的 Python 脚本文件。它指示该文件是一个文本文件,其中包含可执行的 Python 代码。

把脚本文件放在这个路径里

在终端给这个文件添加权限:chmod +x /opt/homebrew/bin/cert-util

五、生成SSL证书

命令行执行:cert-util create -d 域名

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

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

相关文章

IMX6ULL移植篇-Linux内核源码目录分析一

一. Linux内核源码目录 之前文章对 Linux内核源码的文件做了大体的了解,如下: IMX6ULL移植篇-Linux内核源码文件表_凌肖战的博客-CSDN博客 本文具体说明 Linux内核源码的一些重要文件含义。 二. Linux内核源码中重要文件分析 1. arch 目录 这个目录…

Spring的后处理器

Spring后处理器 Spring后处理器是Spring对外开放的重要拓展点(让我们可以用添加自己的逻辑),允许我们介入到Bean的整个实例化流程中来,以达到动态注册BeanDefinition(向BeanDefitionMap中添加BeanDefition对象的过程&…

【视觉SLAM入门】8. 回环检测,词袋模型,字典,感知,召回,机器学习

"见人细过 掩匿盖覆” 1. 意义2. 做法2.1 词袋模型和字典2.1.2 感知偏差和感知变异2.1.2 词袋2.1.3 字典 2.2 匹配(相似度)计算 3. 提升 前言: 前端提取数据,后端优化数据,但误差会累计,需要回环检测构建全局一致的地图&…

数据结构与算法(C语言版)P5---栈

1、栈 1.1、栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。__进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。__栈中的数据元素遵守__后进先出(先进后出)__LIFO&#xf…

【C++STL基础入门】list改、查操作

文章目录 前言一、list查操作1.1 迭代器循环1.2 for_each函数 二、list改操作2.1 迭代器修改2.2 assign函数2.3 运算符 总结 前言 C标准模板库(STL)是C语言中非常重要的部分,它提供了一组通用的模板类和函数,用于处理常见的数据结…

利用C++开发一个迷你的英文单词录入和测试小程序-源码

接上一篇,有了数据库的查询,再把小测试的功能给补足,小程序的结构就出来了。 备注:enable_if 有更优秀的concept C 20替代品,C11 里面提到的any,variant,再C17 已经被纳入了标准库。这里完全可…

iOS加固保护技术:保护你的iOS应用免受恶意篡改

目录 转载:开始使用ipaguard 前言 下载ipa代码混淆保护工具 获取ipaguard登录码 代码混淆 文件混淆 IPA重签名与安装测试 转载:开始使用ipaguard 前言 iOS加固保护是直接针对ios ipa二进制文件的保护技术,可以对iOS APP中的可执行文件…

机器学习(17)---支持向量机(SVM)

支持向量机 一、概述1.1 介绍1.2 工作原理1.3 三层理解 二、sklearn.svm.SVC2.1 查看数据集2.2 contour函数2.3 画决策边界:制作网格2.4 建模画图 三、非线性情况推广3.1 查看数据集3.2 线性画图3.3 为非线性数据增加维度并绘制3D图像 四、核函数 一、概述 1.1 介绍…

记一次 mysql 数据库定时备份

环境:Centos 7.9 数据库:mysql 8.0.30 需求:生产环境 mysql 数据(约670MB)备份。其中存在大字段、longblob字段 参考博客:Linux环境下使用crontab实现mysql定时备份 - 知乎 一、数据库备份 1. 备份脚本。创…

Python项目Flask ipv6双栈支持改造

一、背景 Flask 是一个微型的(轻量)使用Python 语言开发的 WSGI Web 框架(一组库和模块),基于Werkzeug WSGI工具箱/库和Jinja2 模板引擎,当然,Python的WEB框架还有:Django、Tornado、Webpy,这暂且不提。 Flask使用BSD授权。 Flask也被称为microframework(微框架),F…

RFID技术在工业智能制造生产线中的应用

随着自动化和信息化的快速发展,工业智能制造成为制造业的重要趋势,在制造商的生产线上,准确获取和管理工艺流程等各个环节的信息至关重要,作为物联网感知层的核心组成部分,RFID技术以其非接触式、无感知的特点&#xf…

隔山打牛:金融大崩溃

当2004-2006年美联储主席格林斯潘在任期的末尾一鼓作气把联邦利率从1%拉高到5%,然后把美联储主席的位子交给继任者伯南克的时候,没有人意识到接下来将要发生何等巨变。 图:美国联邦利率 伯南克把利率稳定在5.3%附近的高位一年左右时间&#x…

【ArcGIS】基本概念-矢量空间分析

栅格数据与矢量数据 1.1 栅格数据 栅格图是一个规则的阵列,包含着一定数量的像元或者栅格 常用的栅格图格式有:tif,png,jpeg/jpg等 1.2 矢量数据 矢量图是由一组描述点、线、面,以及它们的色彩、位置的数据&#x…

无涯教程-JavaScript - AVEDEV函数

描述 AVEDEV函数返回数据点与其平均值的绝对偏差的平均值。 AVEDEV是数据集中变异性的量度。 语法 AVEDEV (number1, [number2] ...)争论 Argument描述Required/OptionalNumber11 to 255 arguments for which you want the average of the absolute deviations.Requirednum…

趴趴雅思作文修改

前言 在网上试了下趴趴雅思作文修改的服务,淘宝上直接就可以购买,首次有优惠,之后还是挺贵的。 用了下感觉,有用还是有用的,但是挺贵的,一次40,不值。他给我作文的评分是7分,应该给…

fineReport11.0.4版本新建数据链接

需要以下几步: 1.设计器和服务器都需要安装对应数据库的驱动(已安装就跳过) 对应驱动可以在官网下载,百度搜下有教程 2.服务器没有驱动需要上传驱动 2.1 服务器上传驱动文件,需要修改finedb中的fine_conf_entity表…

Mobpush上线跨时区推送功能,助力中国开发者应用出海

近年来随着国内移动应用存量市场饱和,国内移动应用厂商转向”移动出海“,把握国际市场中存在结构性发展机会,提升中国品牌移动应用的知名度和影响力。根据公开资料显示,中国应用开发者中有79.1%计划出海,其中43%的开发…

极光笔记 | 大语言模型插件

在人工智能领域,大语言模型(LLMs)是根据预训练数据集进行”学习“,获取可以拟合结果的参数,虽然随着参数的增加,模型的功能也会随之增强。但无论专业领域的小模型,还是当下最火、效果最好的大模…

分享一下微信公众号怎么实现积分商城功能

微信公众号作为一种社交媒体平台,可以帮助商家与消费者进行互动和沟通。除了实现微信拼团活动外,微信公众号还可以实现积分商城功能,提高消费者的参与度和忠诚度。本文将介绍如何在微信公众号实现积分商城功能。 一、了解积分商城 积分商城是…

邮件如何避免进垃圾箱

邮件营销是一种常见的营销手段,可以帮助企业向大量目标群体发送营销信息,因此邮件营销被广泛应用于促销活动、产品推广、新闻发布、客户维护等场景。然而随着垃圾邮件的泛滥,国内外大部分的电子邮件服务商都采取了越来越严厉的垃圾邮件过滤机…