Administrator
发布于 2025-12-27 / 5 阅读
0
0

03.【必学】理解什么是 HTTPS

1. HTTPS 证书到底是干嘛的?(核心原理) HTTPS 证书(SSL 证书)其实就两样东西的组合:“身份证” + “密码本”。 场景 A:没有证书 (HTTP) —— “裸奔的信件” 你(浏览器)给服务器(Emby)

【必学】理解什么是 HTTPS

1. HTTPS 证书到底是干嘛的?(核心原理)

HTTPS 证书(SSL 证书)其实就两样东西的组合: “身份证” + “密码本”

场景 A:没有证书 (HTTP) —— “裸奔的信件”

你(浏览器)给服务器(Emby)写了一封信:“我的密码是 123456”。

- 这封信是 透明的

- 路由节点、运营商、隔壁蹭网的黑客 ,每个人都能在传输过程中看到这封信的内容。

- 结果: 极其不安全。

场景 B:有证书 (HTTPS) —— “带锁的保险箱”

你给服务器写信,但是这次流程变了:

1. 查验身份(身份证作用):

- 你访问 emby.com

- 服务器先把 证书 甩给你看。

- 你的浏览器会去核查颁发机构(比如 Let's Encrypt): “这孙子真的是 emby.com 吗?”

- 机构确认: “是的,我担保。” —— 防止了钓鱼网站冒充。

2. 交换钥匙(密码本作用):

- 服务器给你的证书里,带着一把\*\*“公钥”\*\*(你可以理解为一把只能锁不能开的锁)。

- 你写好信,用这把锁锁上,发给服务器。

- 神奇的地方来了: 只有服务器手里那把\*\*“私钥”\*\*才能打开这把锁。

- 哪怕黑客截获了数据包,他拿到的是一个打不开的铁盒子,里面全是乱码。


2. 传统模式:为什么要“上传到特定目录”?

在没有反向代理(1Panel/Nginx)之前,每个服务都是\*\*“自立门户”\*\*的。

假设你有三个服务:

- Emby (8096端口)

- Alist (5244端口)

- WordPress (8080端口)

如果你想让它们都安全(HTTPS),你需要做这些繁琐的事:

1. 去阿里云申请证书,下载下来(得到 .crt.key 文件)。

2. 登录 Emby 后台,找到“安全设置”,把文件上传进去(或者通过 SSH 传到 /var/lib/emby/ssl )。

3. 登录 Alist 配置文件,把文件路径填进去。

4. 登录 WordPress 的 Nginx 配置,把路径填进去。

痛苦点在于:

- 格式不同: 有的要 .pem ,有的要 .pfx ,有的要 .crt ,你得不停转换格式。

- 更新地狱: 免费证书通常 90天过期 。每过3个月,你就要把上述流程全部走一遍,传到每一个服务的每一个特定目录下。漏了一个,那天那个服务就访问不了。


3. 进阶模式:反向代理如何“一步到位”?

现在你用了 1Panel(反向代理) ,架构变成了\*\*“SSL 卸载 (SSL Termination)”\*\*。

这就好比公司请了一个 专业的安保前台

- **外部访问(你 <-> 1Panel):** 必须加密 (HTTPS)

- 所有的加密、解密工作,全部由 1Panel 这个“前台”在门口一次性处理完。

- 证书只存在 1Panel 里 ,你只需要在 1Panel 的界面上点一下“申请证书”,它会自动续期,自动部署。

- **内部转发(1Panel <-> Emby/Alist):** 可以是明文 (HTTP)

- 前台解密确信安全后,把解密后的数据(明文),通过局域网内部网线,传给后面的 Emby。

- 因为这是在你家极空间内部(Docker 网络或虚拟机网络),外部黑客进不来,所以这里跑 HTTP 是安全的,而且 速度更快 (省去了后端服务重复解密的 CPU 消耗)。

结论与建议

不要去管那些“特定目录”了。

在你的 HomeLab 中:

1. 后端服务(Emby/Wiki等): 全部只开 HTTP,不要在它们内部配置任何证书。

2. 中间层(1Panel): 申请一个通配符证书(比如 *.你的域名.com )。

3. 配置: 在 1Panel 的反向代理设置里勾选“开启 HTTPS”和“强制 HTTPS”。

这就是“一步到位”。 所有的加密压力都在 1Panel(虚拟机)上,后端服务一身轻松,你也一身轻松。


评论