HTTPS免费证书配置指南

HTTPS 已经成了网站的"标配",但商业SSL证书一年要大几百块。其实有一个完全免费、被全球数千万网站使用的方案------Let's Encrypt 。今天用一篇文章讲清楚:HTTPS是什么、免费证书怎么申请、自动续签如何配置。

1、HTTPS到底是什么?解决了什么问题?

数据加密------防止"被偷看"

HTTP协议传输的数据是明文的,你在网站上输入的密码、银行卡号、聊天记录,在路由器、网吧电脑、咖啡厅WiFi这些环节里,任何人都能截获并直接读取。

HTTPS在TCP和应用层之间加了一层TLS(Transport Layer Security),所有数据都会先加密再传输。哪怕被第三方抓包,看到的也是一堆乱码。

实际场景:

  • 你在HTTP网站上登录,收到的POST请求明文包含用户名和密码
  • 在HTTPS网站上,即使被截获,攻击者拿到的是加密后的密文,无法直接利用

身份认证------防止"被假冒"

你访问的https://www.icbc.com.cn真的是工商银行吗?HTTPS证书里有一项关键信息:证书上绑定的域名,由可信CA机构验证过。浏览器会检查:证书是谁签发的、证书是不是伪造的、证书是否过期。

如果有人用DNS劫持把你引到假冒网站,浏览器会因为"证书不匹配"而报警。

数据完整性------防止"被篡改"

HTTP传输过程中,代理服务器可以随意修改网页内容(注入广告、替换下载链接是常见操作)。TLS加密会为每个数据包生成"消息验证码"(HMAC),接收方校验发现数据被动过手脚会直接丢弃。

HTTP时代三大风险

|--------|-----------------|
| 窃听 | 密码、聊天内容、个人信息被截获 |
| 篡改 | 网页被注入广告、下载链接被替换 |
| 欺诈 | DNS劫持,用户访问到钓鱼网站 |

2、Let's Encrypt免费证书原理

为什么Let's Encrypt能免费?

Let's Encrypt是一个由Mozilla、谷歌、思科、EFF等联合成立的非营利CA机构,目标是推动全网HTTPS化。基础设施成本由赞助商承担,对用户完全免费。

核心支撑技术:ACME协议(Automated Certificate Management Environment)

这是Let's Encrypt实现全自动化的关键。它本质上是一个自动化的"申请-验证-颁发"流程,不需要人工干预。

证书申请三步流程

第一步:发起申请

复制代码
你的服务器 → "我要为 iaiaiai.cc 申请证书"
Let's Encrypt ← 收到申请请求

第二步:域名验证(二选一)

  • HTTP验证 :在域名下的.well-known/acme-challenge/目录里放一个随机Token文件,Let's Encrypt的服务器尝试访问这个URL,能访问到就通过
  • DNS验证:在DNS TXT记录里添加一条随机字符串,Let's Encrypt去查DNS记录来验证

第三步:颁发证书

验证通过后,Let's Encrypt颁发证书,包含:你的公钥、域名、有效期、CA数字签名。证书有效期90天

为什么证书有效期只有90天?

这是安全设计。有效期越短,密钥泄露后被滥用的窗口越小。90天强制你频繁更新,也间接推动了安全实践。

3、实战:3分钟搞定免费证书 + 自动续签

环境:Ubuntu 20.04 + Nginx

第一步:安装certbot

复制代码
sudo apt update
sudo apt install certbot python3-certbot-nginx

第二步:申请证书(一行命令)

复制代码
sudo certbot --nginx -d iaiaiai.cc -d www.iaiaiai.cc

第三步:验证HTTPS生效

复制代码
curl -sI https://iaiaiai.cc/
# 返回 HTTP/2 200 说明SSL已启用

自动续签:完全不用管

certbot安装时会自动创建systemd定时任务,每12小时运行一次。

续签逻辑:

  • 距离过期还有30天以上 → 什么都不做,跳过
  • 距离过期30天以内 → 自动重新申请、更新证书文件、重载nginx

证书文件位置:

复制代码
/etc/letsencrypt/live/iaiaiai.cc/
  ├── fullchain.pem   # 证书链(包含公钥+CA签名)
  ├── privkey.pem     # 私钥(严格保密)
  ├── cert.pem        # 服务器证书
  └── chain.pem       # CA中间证书

手动测试续签:

复制代码
sudo certbot renew --dry-run

4、常见问题

Q:免费证书和付费证书有什么区别?

本质上没有区别,都是被浏览器信任的SSL/TLS证书。付费证书的额外价值在于:更贵的验证级别(如EV证书显示企业名)、更长的有效期、技术支持。

Q:一个证书可以绑定多个域名吗?

可以,用-d参数追加即可:

复制代码
certbot --nginx -d domain1.com -d domain2.com -d subdomain.domain3.com

Q:证书过期了网站会怎样?

浏览器会显示"连接不安全"警告,阻止用户继续访问。配合自动续签,实际上永远不会过期。


HTTPS已经是现代网站的标配,没有它浏览器会报警、SEO会降权。Let's Encrypt让这件事彻底免费了,certbot让这件事完全自动化了。一行命令申请,一天到晚自动续签,省心又安全。

相关推荐
以太浮标3 小时前
华为eNSP模拟器综合实验之- 主机没有配置缺省网关时,通过路由式Proxy ARP实现通信(arp-proxy enable)
运维·网络·网络协议·华为·智能路由器·信息与通信
时空自由民.3 小时前
蓝牙协议栈知识和网络协议栈知识对比
网络·arm开发·网络协议
醉颜凉4 小时前
网络协议基础必学:ARP 和 RARP 是什么?有什么区别?原理+流程图+对比详解
网络·网络协议·流程图
杜子不疼.4 小时前
无需公网 IP!Grafana+内网穿透轻松实现数据看板远程访问
网络协议·tcp/ip·grafana
tie12344 小时前
HTTP相关
网络·网络协议·http
运维老郭5 小时前
TCP/IP协议栈排坑指南:3个高频连接故障与tcpdump精准定位
网络协议·tcp/ip·tcpdump
埃伊蟹黄面6 小时前
应用层HTTP协议
linux·网络·网络协议·http
2501_915921437 小时前
穿越HTTPS迷雾:Wireshark中的TLS抓包秘诀与文件合并方法
网络协议·ios·小程序·https·uni-app·wireshark·iphone
PinTrust SSL证书7 小时前
Sectigo(Comodo)企业型OV通配符SSL
网络·网络协议·网络安全·小程序·https·ssl