实战指南
/
Feb 06, 2026
Step 7 安全篇:开启 HTTPS 小绿锁
<!-- Title: 安全篇:开启 HTTPS 小绿锁 -->
<!-- ID: 6 -->
<!-- Series: 零基础搭建个人网站 (ID: 1) -->
<!-- Author: 潘卫 -->
## 1. 为什么要 HTTPS?
HTTP 是**明文传输**的。
这意味着你和你女朋友在星巴克连着 WiFi 聊天,如果用的是 HTTP,旁边的黑客用 Wireshark 一抓包,你们的内容(包括密码)就全泄露了。
HTTPS = HTTP + SSL/TLS。它给数据穿上了一层防弹衣(加密)。
## 2. 硬核原理:TLS 握手
HTTPS 是如何保证安全的?依靠的是 **非对称加密** 和 **对称加密** 的混合使用。
1. **Client Hello**:浏览器说:“我要建立安全连接,支持这些加密算法。”
2. **Server Hello**:服务器说:“好的,把我的**公钥证书**给你。”
3. **验证证书**:浏览器去问 CA 机构(权威公证处):“这个证书是真的吗?”
4. **生成密钥**:浏览器生成一个随机的**会话密钥 (Session Key)**,用服务器的**公钥**加密,发给服务器。
5. **解密密钥**:服务器用自己的**私钥**解密,拿到了 Session Key。
6. **加密通信**:从此以后,双方都用这个 Session Key 进行**对称加密**通信(因为对称加密比非对称快得多)。
## 3. 证书的种类
- **DV (Domain Validation)**:只验证域名所有权。免费,几分钟下发。个人站长首选(Let's Encrypt)。
- **OV (Organization Validation)**:验证企业身份。证书里会显示公司名。
- **EV (Extended Validation)**:最高级别验证。以前浏览器地址栏会直接显示绿色的公司名(现在各浏览器策略有所调整)。银行通常用这个。
## 4. Nginx 配置详解
虽然宝塔可以一键配置,但作为开发者,你要看懂 Nginx 的配置:
```nginx
server {
listen 443 ssl;
server_name yourdomain.com;
# 证书路径
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# 协议优化
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
}
```
如果不配置 `listen 443 ssl`,HTTPS 是不会生效的。
## 👁️ 我的视角:信任的基石
> “HTTPS 上的那把小绿锁,代表的不仅仅是加密,更是**信任**。”
谷歌 Chrome 早就把所有 HTTP 网站标记为“不安全”。
在今天,没有 HTTPS 的网站就像没有门的房子,没人敢进去。
**Let's Encrypt** 的出现是互联网历史上的里程碑,它让安全不再是富人的特权。
**行动建议**:
- 即使是内网测试服务,也建议养成配置自签名证书的习惯。
<a href='article.php?id=8' class='inline-flex items-center px-6 py-3 bg-gradient-to-r from-blue-600 to-indigo-600 text-white font-bold rounded-xl shadow-lg shadow-indigo-500/30 hover:shadow-indigo-500/50 hover:-translate-y-0.5 transition-all duration-300 no-underline'>下一篇:继续探索旅程<svg class='w-5 h-5 ml-2' fill='none' stroke='currentColor' viewBox='0 0 24 24'><path stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13 7l5 5m0 0l-5 5m5-5H6'></path></svg></a>
P
潘卫
南京市沉思波网络科技有限责任公司创始人、CEO
您的观点 (可选)
🎁 注册账号,同步您的个性化学习路径