【进阶篇】巧用CDN:为家庭服务套上“马甲”,实现完美HTTPS访问
在上一篇教程中,我们成功地在端口封锁的环境下,通过 https://sh.jue.sh:8008
这样的形式发布了家庭网络中的多个服务。虽然功能实现了,但URL后面拖着一个长长的端口号,总感觉不够优雅和专业。
那么,有没有办法去掉这个端口号,就像访问普通网站一样,直接通过 https://nas.yourdomain.com
这样的标准域名来访问呢?
答案是肯定的!我们可以利用 CDN 服务来实现。
本文将以 腾讯云 EdgeOne 为例,教你如何为家庭服务套上一个专业的“马甲”,隐藏端口和真实IP,并获得CDN带来的安全与加速收益。
核心思路:CDN 回源
让我们先理解一下 CDN 在这里扮演的角色。通常我们认为 CDN 是用来缓存静态文件加速访问的,但它还有一个强大的功能——安全代理和回源。
我们可以把 EdgeOne 想象成一个设置在全球各地的、拥有标准 80
和 443
端口的专业接待员。
新的访问流程将变成:
- 用户 → 访问
https://nas.yourdomain.com
(标准的443端口)。 - DNS → 将域名解析到 EdgeOne 的 CDN 节点 IP。
- EdgeOne 节点 → 收到请求后,根据我们设置的规则,它知道要去哪里获取真正的内容。
- EdgeOne 节点 → 秘密地、在后台访问我们的家庭服务器
https://sh.jue.sh:8008
。这个过程就是“回源”。 - 家庭服务器 → 将内容返回给 EdgeOne 节点。
- EdgeOne 节点 → 再将内容返回给用户。
在这个过程中,用户自始至终只和 EdgeOne 交互,完全不知道我们真实的服务器地址和那个丑陋的端口号。
操作步骤
第一步:准备新域名并接入 EdgeOne
首先,你需要准备一个新的、干净的域名或子域名用于公开访问,例如 nas.jue.sh
。
- 登录腾讯云 EdgeOne 控制台,选择 「域名接入」。
- 输入你的新域名
nas.jue.sh
。 - EdgeOne 会提供两种接入方式:NS 接入 和 CNAME 接入。
- NS 接入:功能最全,需要你去域名注册商那里修改域名的 DNS 服务器为 EdgeOne 提供的地址。
- CNAME 接入:更灵活,只需为
nas
这个子域名添加一条 CNAME 解析记录,指向 EdgeOne 提供的 CNAME 地址即可。
- 根据指引完成 DNS 配置,等待 EdgeOne 验证通过。
第二步:配置核心 - 源站信息
这是整个流程中最关键的一步,我们要告诉 EdgeOne 去哪里“拿货”。
- 在 EdgeOne 控制台,进入 「域名管理」 → 找到你的域名 → 点击进入 「站点配置」。
- 在左侧菜单选择 「源站配置」。
- 配置源站信息:
- 源站地址: 填写你的家庭DDNS域名,即
sh.jue.sh
。切勿填写IP地址,因为你家的是动态IP。 - 端口: 选择 HTTPS,并在后面的端口号中填入
8008
。 - 回源协议: 保持默认的
HTTP/S 跟随
或直接选择HTTPS
。
- 源站地址: 填写你的家庭DDNS域名,即
第三步:配置回源 HOST (决定成败的关键)
当 EdgeOne 访问 sh.jue.sh:8008
时,它需要告诉你的家庭服务器:“我是来替 nas.jue.sh
拿东西的”。但我们的家庭服务器(1Panel)只认识发往 sh.jue.sh
的请求。如果 Host 头不匹配,请求就会失败。
因此,我们需要明确告诉 EdgeOne,在回源时,要使用我们家庭服务器认识的“暗号”。
- 在 「源站配置」 页面中,找到 「回源 HOST」 的设置。
- 将其值修改为你的DDNS域名
sh.jue.sh
。
第四步:为新域名配置 HTTPS 证书
现在,我们需要为公开的 nas.jue.sh
配置证书,这样用户才能通过 https://
访问。
- 在左侧菜单选择 「HTTPS 配置」。
- 在 「证书管理」 标签页下,EdgeOne 默认会为你免费申请并自动续期 TrustAsia 的证书,你几乎什么都不用做。等待几分钟,状态变为“已部署”即可。
- (推荐)开启 「强制 HTTPS」,将所有 HTTP 访问跳转到 HTTPS。
第五步:调整缓存规则(可选但重要)
对于 NAS、网站后台等动态内容,CDN 缓存可能会导致你看到旧的数据。建议关闭缓存。
- 在左侧菜单选择 「规则引擎」。
- 新建一条规则,按下图配置:
- IF (如果):
URL 路径
等于
/
(或者前缀为
/
匹配所有) - Then (那么):
缓存行为
不缓存
- IF (如果):
- 保存并发布规则。
见证奇迹的时刻
所有配置完成后,等待几分钟让全球节点生效。现在,打开浏览器,输入你全新的、干净的域名:
https://nas.jue.sh
你会发现,你已经可以完美访问到家里 8008
端口上运行的服务了!那个 :8008
的小尾巴被彻底隐藏,取而代之的是一个专业、安全的标准HTTPS网址。
如果你想发布第二个服务(比如 :8009
),只需重复以上步骤:
- 准备一个新的子域名,如
files.jue.sh
。 - 在 EdgeOne 中接入新域名。
- 配置源站时,端口填写
8009
,回源HOST依然是sh.jue.sh
。 - 完成!
总结
通过引入腾讯云 EdgeOne 这样的 CDN 服务,我们不仅彻底美化了家庭服务的访问URL,还一并获得了诸多好处:
- 隐藏真实IP和端口:极大地提升了家庭网络的安全性。
- 免费的HTTPS证书:无需自己在服务器上管理和续签公开域名的证书。
- CDN加速与安全防护:享受大厂提供的高性能节点和基础的DDoS、WAF防护能力。
这套组合拳(1Panel + DDNS + CDN)是目前家庭服务器玩家最流行、最强大、最灵活的解决方案之一。希望这篇进阶教程能让你脑洞大开,把家庭服务器玩出新高度!