Https网站如何申请免费的SSL证书及操作使用指南
前言
在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名免费SSL证书提供商Let's Encrypt申请免费SSL证书,并指导如何在Nginx和Apache服务器上安装和使用证书。
这里推荐:
OHTTPS - 免费HTTPS证书、自动化更新、自动化部署、自动化监控
ohttps.com提供了类似于acme.sh的功能,不过提供了友好的管理界面,可申请Let's Encrypt免费通配符类型证书,还提供了证书吊销、到期前提醒、自动更新、自动部署功能。
另外比acme.sh增加了一些非常实用的功能,主要包括可自动部署至阿里云、腾讯云、七牛云的负载均衡、内容分发CDN、SSL证书列表等,并可自动部署至多个nginx容器中。
如果你有在证书更新后自动部署至多个不同节点的需求,使用ohttps.com就对了,在这里强烈推荐大家使用ohttps.com申请和管理Let's Encrypt颁发的免费HTTPS证书。申请链接:
https://ohttps.com

操作步骤
1. 选择SSL证书提供商
首先,您需要选择一个可靠的SSL证书提供商。目前,有许多提供免费SSL证书的服务商,其中最受欢迎的是Let's Encrypt。Let's Encrypt是一个非营利组织,它提供免费的SSL证书,并且这些证书被广泛认可和接受。
2. 申请免费SSL证书
使用Let's Encrypt申请证书
Let's Encrypt提供了一个名为Certbot的自动化工具,可以帮助您轻松申请和管理SSL证书。
Certbot简介
Certbot是EFF(Electronic Frontier Foundation)开发的一个开源软件工具,旨在自动化获取和更新Let's Encrypt SSL证书的过程。Certbot支持多种操作系统和Web服务器,包括Apache和Nginx,使其成为一个非常灵活和强大的工具。
以下是使用Certbot申请免费SSL证书的步骤:
-
安装Certbot: 您需要先在服务器上安装Certbot。根据您的服务器操作系统和Web服务器类型,安装方法会有所不同。例如,如果您使用的是Ubuntu和Apache,可以使用以下命令安装Certbot:
#如果服务器是apache sudo apt update sudo apt install certbot python3-certbot-apache #在Ubuntu上安装Certbot,服务器是nginx sudo apt update sudo apt install certbot python3-certbot-nginx -
使用Certbot获取SSL证书
安装Certbot后,您可以使用以下命令来获取SSL证书:
使用Apache插件获取证书
sudo certbot --apache使用Nginx插件获取证书
sudo certbot --nginx在执行上述命令时,Certbot会引导您完成一系列设置步骤,包括输入您的电子邮件地址和同意服务条款。Certbot还会自动配置您的Web服务器以使用新的SSL证书。
-
验证证书: 证书获取成功后,Certbot会自动配置您的Web服务器以使用SSL。您可以通过访问您的网站并查看浏览器地址栏中的锁形图标来验证SSL证书是否已正确安装。
3. 使用SSL证书
配置Web服务器
一旦您获得了SSL证书,您需要配置您的Web服务器以使用它。以下是一些常见的Web服务器配置示例:
Apache
如果您使用的是Apache服务器,Certbot通常会自动为您配置SSL。您可以通过编辑Apache配置文件来手动配置SSL,例如:
<VirtualHost *:443>ServerName www.example.comDocumentRoot /var/www/htmlSSLEngine onSSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
</VirtualHost>
Nginx
如果您使用的是Nginx服务器,您可以编辑Nginx配置文件来配置SSL,例如:
server {listen 80;server_name www.example.com;return 301 https://$host$request_uri;
}server {listen 443 ssl;server_name www.example.com;ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ =404;}
}
自动更新证书
Let's Encrypt颁发的SSL证书有效期为90天。为了确保证书始终有效,您需要设置自动更新。Certbot提供了一个简单的命令来实现这一点:
sudo certbot renew --dry-run
您可以将此命令添加到服务器的cron作业中,以确保证书定期更新。例如,您可以编辑cron作业文件:
sudo crontab -e
然后添加以下行:
0 0 * * * /usr/bin/certbot renew --quiet
这行命令将在每天午夜运行,检查证书是否需要更新,并在需要时自动更新证书。
更便捷的方式(okhttps)
上述命令行方式需要熟悉使用,如果想要更便捷的方式,可以在okhttps或FreeSSL.cn网站上申请。界面操作更简单直观。

举例:
在FreeSSL.cn申请免费SSL证书的基本步骤如下:
访问FreeSSL网站: 打开浏览器,访问 FreeSSL.cn。
1.开始申请:
输入您想要为其申请SSL证书的域名。
选择您需要的证书类型,比如单域名或多域名证书。
点击“创建”或“创建免费的SSL证书”。
2.提供联系信息:
输入您的邮箱地址,这将用于接收证书相关的信息和通知。
核实申请信息无误后,继续下一步。
3.域名验证(DCV):
选择验证方式,常见的有TXT记录验证、CNAME记录验证或文件上传验证。
TXT记录验证:按照提示,在您的域名DNS设置中添加一条TXT类型的记录,内容由FreeSSL提供。
CNAME记录验证:某些情况下可能需要添加CNAME记录,同样根据提供的值设置。
文件上传:上传FreeSSL提供的特定文件至您网站的根目录。
完成验证设置后,点击验证按钮,等待验证通过。
4.证书下载与安装:
验证成功后,您将能够下载SSL证书。通常会包括证书文件(.crt或.pem)、私钥文件(.key)以及可能的中间证书链(.ca-bundle或单独的文件)。申请完成。
最后根据您的服务器类型(如Apache、Nginx、IIS等),按照相应的教程安装使用这些证书文件。
如何使用证书
如果云服务器使用的有宝塔等便捷web管理工具,则添加使用证书很简单。
如果手动安装,以Nginx为例,使用证书的基本步骤如下:
备份原有配置:在修改Nginx配置文件之前,先做好备份。
编辑Nginx配置文件:
找到您的Nginx站点配置文件,通常位于 /etc/nginx/sites-available/your_domain.conf 或相似路径。修改或添加以下内容:
server {listen 443 ssl;server_name your_domain.com www.your_domain.com;ssl_certificate /path/to/your_certificate.crt;ssl_certificate_key /path/to/your_private_key.key;# 如果有中间证书,也需要包含ssl_trusted_certificate /path/to/your_intermediate.pem;# 其他SSL设置,如协议版本、密码套件等ssl_protocols TLSv1.2 TLSv1.3;ssl_prefer_server_ciphers on;ssl_ciphers "YOUR_CIPHER_SUITE";}
替换上述路径为实际存放证书和私钥的路径。
测试配置:
运行 sudo nginx -t 测试配置是否正确。
重启Nginx:
如果配置测试通过,运行 sudo systemctl restart nginx 或 sudo service nginx restart 重启Nginx服务。
检查HTTPS:
访问 https://your_domain.com 检查SSL证书是否已正确安装并生效。
请根据实际情况调整上述步骤中的具体路径和配置项。
以下为我的nginx配置(我的域名:yangqq.site):
server
{listen 80;listen 443 ssl http2;server_name yangqq.site;index index.html index.htm default.htm default.html;root /www/wwwroot/imovie/imovie;#SSL-START SSL相关配置#error_page 404/404.html;#HTTP_TO_HTTPS_STARTif ($server_port !~ 443){rewrite ^(/.*)$ https://$host$1 permanent;}#HTTP_TO_HTTPS_ENDssl_certificate /www/server/panel/vhost/cert/imovie/fullchain.pem;ssl_certificate_key /www/server/panel/vhost/cert/imovie/privkey.pem;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;add_header Strict-Transport-Security "max-age=31536000";error_page 497 https://$host$request_uri;#SSL-END#ERROR-PAGE-START 错误页相关配置#error_page 404 /404.html;#error_page 502 /502.html;#ERROR-PAGE-END#REWRITE-START 伪静态相关配置include /www/server/panel/vhost/rewrite/go_imovie.conf;#REWRITE-END#禁止访问的文件或目录location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) {return 404;}#一键申请SSL证书验证目录相关设置location /.well-known/ {root /www/wwwroot/java_node_ssl;}#禁止在证书验证目录放入敏感文件if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {return 403;}# HTTP反向代理相关配置开始 >>>location ~ /purge(/.*) {proxy_cache_purge cache_one 127.0.0.1$request_uri$is_args$args;}##代理转向指向我的golang后台服务端口8000location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host 127.0.0.1:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;add_header X-Cache $upstream_cache_status;proxy_set_header X-Host $host:$server_port;proxy_set_header X-Scheme $scheme;proxy_connect_timeout 30s;proxy_read_timeout 86400s;proxy_send_timeout 30s;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}# HTTP反向代理相关配置结束 <<<access_log /www/wwwlogs/imovie.log;error_log /www/wwwlogs/imovie.error.log;
}
其他资源
快速上手 | OHTTPS
免费SSL证书申请,并设置自动续期_免费ssl证书自动续期-CSDN博客
这 6 大免费申请 HTTPS 证书的方法!没人会告诉你-CSDN博客
设置 A 记录 - DNSPod 服务与支持
如何申请免费SSL证书,并部署到Nginx?_let's encrypt免费证书-CSDN博客
相关文章:
Https网站如何申请免费的SSL证书及操作使用指南
前言 在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名…...
实现资产优化管理:智慧校园资产分类功能解析
在构建智慧校园的过程中,细致入微的资产管理是确保教育资源高效运作的关键一环,而资产分类功能则扮演着举足轻重的角色。系统通过精心设计的分类体系,将校园内的各类资产,从昂贵的教学设备到日常使用的办公物资,乃至无…...
大厂开发必知必会:Devops、CI/CD、流水线和Paas的关系解析说明
为什么作为程序开发人员需要了解ci/cd流程和原理? 作为程序开发人员,了解CI/CD(持续集成/持续交付)的流程和原理具有以下几个重要的理由: 1. 提高代码质量和稳定性 自动化测试:CI/CD流程中集成了自动化测…...
Qt学习:Qt窗口组件以及窗口类型
一、Qt的窗口组件有哪些 Qt是一个跨平台的C应用程序开发框架,它的窗口组件,也称为用户界面元素,为开发者提供了丰富的可视化界面设计选项。在Qt中,窗口组件主要包括: 窗口(Window):…...
基于AGX ORIN与FPGA K7实现PCIE高速数据通信/Orin与FPGA高速数据传输/XDMA在linux系统使用教程
因最近想学习AGX orin和FPGA实现数据高速通信,借此机会和大家一起学习AGX orin和FPGA 制作不易,记得三连哦,给我动力,持续更新!!! 完整工程文件下载:AGX orin与FPGA实现PCIE完整…...
Vue3:全局播放背景音乐
说明:一个全局播放的背景音乐,首页无音乐无音乐图标,在首页互动跳转页面并开始播放音乐,切换页面不需暂停音乐也不会重置音乐,可以通过音乐图标控制暂停或播放。 MusicPlay.vue(音乐组件) <…...
2024年07月03日 Redis部署方式和持久化
Redis持久化方式:RDB和AOF,和混合式 RDB:周期备份模式,每隔一段时间备份一份快照文件,从主线程Fork一个备份线程出来备份,缺点是会造成数据的丢失。 AOF:日志模式,每条命令都以操作…...
成都仅需浏览器即可快速查看的数据采集监控平台!
LP-SCADA数据采集监控平台无需额外客户端,只需要一个标准的Web浏览器,用户可以迅速访问系统并开始使用,同时支持跨平台访问。一个用户可监控多个过程,多个用户可以监控同一过程,真正实现了数据的开放性及过程信号的透明…...
LLM - 神经网络的训练过程
1. 对于回归问题,用损失函数来计算预测值和真实值的差异,一种常用的公式是如下图所示(Mean Square Error),如果损失函数的值越小说明神经网络学习越准确,所以神经网络训练目标是减小损失函数的值, 2. 对于分类问题&…...
【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文
我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…...
Python | Leetcode Python题解之第213题打家劫舍II
题目: 题解: class Solution:def rob(self, nums: List[int]) -> int:def robRange(start: int, end: int) -> int:first nums[start]second max(nums[start], nums[start 1])for i in range(start 2, end 1):first, second second, max(fi…...
揭秘数据之美:【Seaborn】在现代【数学建模】中的革命性应用
目录 已知数据集 tips 生成数据集并保存为CSV文件 数据预览: 导入和预览数据 步骤1:绘制散点图(Scatter Plot) 步骤2:添加回归线(Regression Analysis) 步骤3:分类变量分析&…...
【宠粉赠书】UML 2.5基础、建模与设计实践
为了回馈粉丝们的厚爱,今天小智给大家送上一套系统建模学习的必备书籍——《UML 2.5基础、建模与设计实践》。下面我会详细给大家介绍这本书,文末留有领取方式。 图书介绍 《UML 2.5基础、建模与设计实践》以实战为主旨,结合draw.io免费软件…...
Python中几个重要的集合
Python中几个重要的集合(Collection)类型,包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary) 1. 列表(List) 说…...
【JS】纯web端使用ffmpeg实现的视频编辑器-视频合并
纯前端实现的视频合并 接上篇ffmpeg文章 【JS】纯web端使用ffmpeg实现的视频编辑器 这次主要添加了一个函数,实现了视频合并的操作。 static mergeArgs(timelineList) {const cmd []console.log(时间轴数据,timelineList)console.log("文件1",this.readD…...
解决Python用xpath爬取不到数据的一个思路
前言 最近在学习Python爬虫的知识,既然眼睛会了难免忍不住要实践一把。 不废话直接上主题 代码不复杂,简单的例子奉上: import requests from lxml import etreecookie 浏览器F12网络请求标头里有 user_agent 浏览器F12网络请求标头里有…...
C#面:如何把一个array复制到arrayist里
要将一个数组复制到ArrayList中,可以使用ArrayList的AddRange方法。以下是一个示例代码: int[] array { 1, 2, 3, 4, 5 }; ArrayList arrayList new ArrayList(); arrayList.AddRange(array); 在上面的代码中,我们首先创建了一个整数类型…...
解决前后端同一个端口跨域问题
前端起了一个代理 如果url是api开头的自动代理访问8080端口(解决前后端端口不一致要么是前端代理,要么是后端加过滤器) proxy:{/api:{target:http://localhost:8080,changeOrigin : true,// 替换去掉路径上的api// rewrite:(path)>path.r…...
《C语言》认识数据类型和理解变量
🌹个人主页🌹:喜欢草莓熊的bear 🌹专栏🌹:C语言基础 目录 前言 一、数据类型的介绍 1.1 字符型 1.2 整形 1.3 浮点型 1.4 布尔类型 1.5 各种数据类型的长度 1.5.1 sizeof操作符 1.5.2 数据类型长度…...
【ARM 常见汇编指令学习 7.1 -- LDRH 半字读取指令】
请阅读【嵌入式开发学习必备专栏】 文章目录 LDRH 使用介绍LDRH(Load Register Half-word)总结 LDRH 使用介绍 在ARMv9架构中,汇编指令LDRH用于从内存中载入数据到寄存器的指令,下面将分别对它进行详细介绍: LDRH&am…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
