当前位置: 首页 > news >正文

SSL 证书申请以及配置流程

SSL 证书申请以及配置流程

手动申请免费 SSL 证书的简明指南

如果你希望手动为你的网站申请免费的 SSL 证书,Let’s Encrypt 提供了一个很棒的免费服务。而 Certbot 则是官方推荐的工具,可以帮助你完成证书的申请和配置。以下是如何一步步完成的详细说明。

第一步:安装 Certbot

首先,我们需要在服务器上安装 Certbot。根据你服务器的系统类型,安装方法可能会有些不同:

  • Ubuntu
    sudo apt-get update
    sudo apt-get install certbot
    
  • CentOS
    sudo yum install certbot
    

Certbot 安装好后,我们就可以开始申请 SSL 证书啦。

第二步:手动申请证书

想要手动申请证书,我们使用 Certbot 的 certonly 参数,这样你可以完全掌控整个过程,不会对你的 Web 服务器配置造成自动修改。下面是具体命令:

sudo certbot certonly --manual -d yourdomain.com -d www.yourdomain.com

这段命令的意思是:我们手动申请 yourdomain.com 以及 www.yourdomain.com 的证书。接下来,Certbot 会给你提供几种验证方法,以确认你对该域名的控制权。

  • DNS 验证:Certbot 会让你在域名的 DNS 设置中添加一条 TXT 记录。这些记录可能需要一些时间才能生效,但只要验证成功,证书就会顺利生成。
  • HTTP 验证:如果你更喜欢使用 HTTP 验证,Certbot 会让你在域名根目录下创建一个 .well-known/acme-challenge 文件夹,并放入特定的文件。具体步骤如下:
    1. Certbot 会提供一个文件名和文件内容。
    2. 在你的域名根目录下创建一个目录:
      mkdir -p .well-known/acme-challenge
      
    3. 在该目录下创建指定的文件,并将 Certbot 提供的内容写入文件中:
      echo '文件内容' > .well-known/acme-challenge/文件名
      
    4. 确保可以通过浏览器访问该文件,例如:
      http://yourdomain.com/.well-known/acme-challenge/文件名
    5. 请确保在 Nginx 配置文件中添加以下内容来允许访问 .well-known 目录:
      location ^~ /.well-known/acme-challenge/ {allow all;default_type "text/plain";root /path/to/your/web/root;
      }
      

第三步:证书文件在哪里?

一旦验证完成,Certbot 会在 /etc/letsencrypt/live/yourdomain.com/ 目录下生成证书文件,这些文件包括:

  • fullchain.pem:这是你的完整证书链文件。
  • privkey.pem:这是你的私钥文件。

请务必记住这些路径,稍后你将用到它们来配置你的 Web 服务器。

第四步:配置 Web 服务器

拿到证书后,我们还需要让你的 Web 服务器知道这些证书的存在。

配置 Nginx

如果你使用的是 Nginx,可以这样配置你的站点文件(例如 /etc/nginx/sites-available/yourdomain.conf):

server {listen 443 ssl;server_name yourdomain.com www.yourdomain.com;ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;# 其他站点配置...
}

修改完成后,重启 Nginx 以应用新的配置:

sudo systemctl restart nginx
配置 Apache

如果你用的是 Apache,请编辑对应站点的配置文件(例如 /etc/apache2/sites-available/yourdomain.conf):

<VirtualHost *:443>ServerName yourdomain.comServerAlias www.yourdomain.comSSLEngine onSSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem# 其他站点配置...
</VirtualHost>

完成编辑后,别忘了重启 Apache:

sudo systemctl restart apache2

第五步:续期证书

Let’s Encrypt 的证书有效期为 90 天,所以我们需要定期续期。幸好,Certbot 提供了非常方便的续期工具,只需运行以下命令即可:

sudo certbot renew

在进行正式续期之前,你可以先测试一下:

sudo certbot renew --dry-run

这个命令会模拟续期过程,以确保没有任何问题。


相关文章:

SSL 证书申请以及配置流程

SSL 证书申请以及配置流程 手动申请免费 SSL 证书的简明指南 如果你希望手动为你的网站申请免费的 SSL 证书&#xff0c;Let’s Encrypt 提供了一个很棒的免费服务。而 Certbot 则是官方推荐的工具&#xff0c;可以帮助你完成证书的申请和配置。以下是如何一步步完成的详细说…...

[Docker#4] 镜像仓库 | 部分常用命令

目录 什么是 Docker Registry 镜像仓库生活案例 镜像仓库分类 镜像仓库工作机制 常用的镜像仓库 私有仓库 镜像仓库命令 镜像命令[部分] 容器命令[部分] 什么是 Docker Registry 定义&#xff1a;Docker Registry 负责存储、管理和分发镜像&#xff0c;并提供了登录认…...

工业通信协议对比:OPC-UA、Modbus、MQTT、HTTP

综合对比表 对比项OPC-UAModbusMQTTHTTP通信效率低&#xff0c;带宽消耗高高高&#xff0c;开销低&#xff0c;效率高低&#xff0c;带宽消耗大实时性一般&#xff0c;延迟较高高&#xff0c;延迟低高&#xff0c;低延迟低&#xff0c;延迟高性能消耗高&#xff0c;需要高性能…...

docker 常用方法

目录 docker参数解释 基础信息和环境变量设置 容器运行和管理相关参数 数据卷挂载 GPU 相关参数 镜像相关参数 查看现有的镜像 docker images 查看正在运行的docker docker ps 1、docker启动停止及查看状态 启动docker&#xff1a; systemctl start docker 停止docker…...

区块链技术入门:以太坊智能合约详解

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 区块链技术入门&#xff1a;以太坊智能合约详解 区块链技术入门&#xff1a;以太坊智能合约详解 区块链技术入门&#xff1a;以太…...

特定数据库的备份脚本

该脚本 mysql_backup.sh 是一个 MySQL 数据库的备份脚本&#xff0c;以下是它的工作原理和需要注意的细节&#xff1a; 脚本内容分析 1.设置时间变量 TIME : TIMEdate %F_%H-%M-%S该变量 TIME 存储当前日期和时间&#xff0c;格式为 YYYY-MM-DD_HH-MM-SS&#xff0c;用于生…...

uni-app打包后报错云服务空间未关联

使用uni-app打包到h5 项目里面用到了uni-app的云端一体城市选择组件&#xff0c;这个组件数据用到了uniCloud云服务空间&#xff0c;在本地运行没问题&#xff0c;打包之后测试环境报错&#xff1a; 一顿查&#xff0c;查到了官网是这样说的&#xff1a; cli publish --platfo…...

FPGA学习(10)-数码管

前3节视频目的是实现显示0~F的数码管仿真&#xff0c;后3节是用驱动芯片驱动数码管。 目录 1.数码管显示原理 2.代码过程 2.1仿真结果 3.串行移位寄存器原理 3.1原理 ​编辑 3.2 数据手册 3.3 先行设计思路 4.程序 4.1确定SRCLK的频率 4.2序列计数器 4.3 不同coun…...

C++(继承)

继承的语法 继承的好处&#xff1a;减少重复代码 语法&#xff1a; class 子类 &#xff1a; 继承方法 父类 子类 也称为 派生类 父类 也成为 基类 继承方式 公共继承 保护继承 私有继承 结论&#xff1a;父类中私有成员也是被子类继承下去了&#xff0c;只是由编译器给隐藏后…...

华为OD机试 - RSA加密算法(Java 2024 E卷 100分)

long n (long) Math.sqrt(num); 与long n (long) Math.floor(Math.sqrt(num)); 这两行代码的目的都是计算 num 的平方根&#xff0c;并将结果转换为 long 类型的整数。然而&#xff0c;它们在处理方式上有一些微小的差别。 long n (long) Math.sqrt(num);long n (long) M…...

分组校验在Spring中的应用详解

目录 前言1. 什么是分组校验2. 分组校验的基本原理3. 分组校验的实现步骤3.1 定义分组接口3.2 在校验项中指定分组3.3 校验时指定要校验的分组3.4 默认分组和分组的继承 4. 分组校验的优势和适用场景4.1 优势4.2 适用场景 5. 常见问题与解决方案5.1 校验未生效5.2 无法识别默认…...

torch.nn.**和torch.nn.functional.**的区别

torch.nn.** torch.nn.**是一个继承了torch.nn.Module的类&#xff0c;使用前必须先构造对象&#xff0c;然后再调用。如果直接使用则会报错 例如 a torch.randn(3,4) print(a) sigmoid torch.nn.Sigmoid() a sigmoid(a) print(a) a torch.nn.Sigmoid(a)tensor([[ 0.2462…...

Air780E基于LuatOS编程开发

Air780E基于LuatOS编程开发 Air780E开发板下载固件版本开发板刷机开发调试源码编译下载源码编译工具编译工具链 Air780E开发板 合宙通信推出的 LTE Cat.1 bis通信模块&#xff0c;采用移芯EC618平台&#xff0c;支持4G全网通, 包括的模组有: Air780E – 4G Cat.1Air780EG – …...

贪心算法-汽车加油

这道题目描述了一个汽车旅行场景&#xff0c;需要设计一个有效的算法来决定在哪几个加油站停车加油&#xff0c;以便最小化加油次数。题目给出了汽车加满油后的行驶距离n公里&#xff0c;以及沿途若干个加油站的位置。我们需要找出一个方案&#xff0c;使得汽车能够完成整个旅程…...

Qt信号和槽-->day04

Qt信号和槽 标准的信号和槽函数Qt中的槽函数Qt中的信号 connect案例 自定义信号和槽案例分析 信号槽的拓展信号连接信号案例 信号槽的两种连接方式Qt5中的处理方式Qt4中的处理方式Qt5处理信号槽重载问题案例 lambda表达式简单案例Qt中的应用 补充知识点 标准的信号和槽函数 QW…...

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理(Network Proxy)Disabled/Manual 并弹窗提醒

【Linux】为终端命令自定义快件键并弹窗提醒 设置快捷键切换网络代理&#xff08;Network Proxy&#xff09;Disabled/Manual 并弹窗提醒 可以自定义快捷键执行终端命令&#xff0c;执行完毕会有弹窗提醒。下面给一个例子&#xff0c;设置快捷键切换网络代理&#xff08;Netwo…...

十六:Spring Boot依赖 (1)-- spring-boot-starter 依赖详解

1. 简介&#xff1a; spring-boot-starter 是 Spring Boot 项目中的基础启动器依赖&#xff0c;它为开发者提供了 Spring Boot 应用所需的核心功能和自动配置 spring-boot-starter 不是一个具体的功能模块&#xff0c;而是一个基础的启动器。 Spring Boot 提供了一系列的 sta…...

讲讲关于SNMP与智能PDU插座

什么是SNMP 简单网络管理协议 (SNMP) 是一种应用层协议&#xff0c;主要用于网络管理中的设备监控和控制。通过 SNMP&#xff0c;网络管理员可以从管理站远程访问网络中的设备&#xff0c;获取设备的状态信息、配置参数&#xff0c;甚至控制设备的行为。SNMP 被广泛应用于 TCP/…...

在CentOS下安装RabbitMQ

在CentOS下安装RabbitMQ 在CentOS下安装RabbitMQ可以按照以下步骤进行&#xff1a;步骤 1: 更新系统步骤 2: 安装Erlang步骤 3: 添加RabbitMQ仓库步骤 4: 安装RabbitMQ步骤 5: 启动RabbitMQ服务步骤 6: 检查RabbitMQ状态步骤 7: 启用RabbitMQ管理插件&#xff08;可选&#xff…...

前端使用Canvas实现网页电子签名(兼容移动端和PC端)

实现效果&#xff1a; 要使用Canvas实现移动端网页电子签名&#xff0c;可以按照以下步骤&#xff1a; 在HTML文件中创建一个Canvas元素&#xff0c;并设置其宽度和高度&#xff0c;以适配移动设备的屏幕大小。 // 创建一个canvas元素 let canvas document.createElement(&q…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究

摘要&#xff1a;在消费市场竞争日益激烈的当下&#xff0c;传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序&#xff0c;探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式&#xff0c;分析沉浸式体验的优势与价值…...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...