Skip to content
将节点订阅链接升级为 HTTPS 域名访问

将节点订阅链接升级为 HTTPS 域名访问

March 29, 2026

在上一篇文章中,我们成功为搭建在 AWS 上的个人博客申请了免费域名(例如 newtonking.zle.ee),并配置了 Let’s Encrypt 的 HTTPS 证书。同时,我们也解决了一个极其隐蔽的 443 端口冲突大坑,成功让 Nginx 和底层的代理服务端和平共处(把代理服务端的端口改到了 8443)。

遗憾,这篇文章是一次错误的尝试。

博客的门面搞定了,接下来我们要解决另一个痛点:节点订阅配置文件的安全与更新

过去的痛点:基于 IP 的 HTTP 访问

之前,为了方便在手机和电脑端同步代理节点,我把配置文件(比如 config.yaml)直接放在了服务器的默认网页目录(/var/www/html/)下,然后通过 http://我的IP/config.yaml 来让客户端拉取更新。

这种做法虽然能用,但隐藏着几个致命的危机:

  1. 明文传输不安全: HTTP 是没有加密的,意味着你的节点 IP、UUID 等敏感信息在网络中是在“裸奔”的,极其容易被中间人抓包。
  2. IP 访问无法套用 HTTPS: 我们刚申请的 SSL 证书是专门颁发给域名的。如果强行在客户端里把链接改成 https://我的IP...,客户端会因为“证书名字(域名)和访问地址(IP)对不上”而直接报错,拒绝更新。
  3. Nginx 路由调整导致的 404 失效: 在配置博客域名的过程中,我们通常会清理掉 Nginx 的默认配置(default)以防止流量干扰。这会导致你直接通过 IP 访问时,流量迷路,最终原来的 config.yaml 根本找不到。

解决方案:用新域名托管订阅链接

既然我们已经拥有了带有小锁头的专属域名,最完美的做法就是把配置文件搬到博客目录下,直接用域名 + HTTPS 来访问。

操作步骤极其简单,只需两步:

第一步:将配置文件“搬家”

通过 SSH 连接到服务器,将原本放在默认目录的配置文件,移动到你 Nginx 当前正在生效的博客根目录下(比如我的是 /var/www/blog/):

sudo mv /var/www/html/config.yaml /var/www/blog/

注意:移动过去之后,别忘了用编辑器(如 nano)打开它,把里面记录的节点 port 同步修改为我们在上一篇文章中新分配的代理端口(例如 8443)。

第二步:在客户端使用高大上的新链接

打开你本地的代理客户端(比如 Clash),找到订阅管理或配置页面。

换上新域名地址:

https://yourdomainname.com/config.yaml

点击“更新(Update)”。你会发现整个拉取过程极其顺滑。因为走的是 HTTPS 协议,所有的节点信息在传输过程中都是全加密的.

总结

经过这两番折腾,我们的 AWS 服务器现在不仅拥有了一个可以通过安全域名访问的个人博客,还顺带实现了一个高隐私、防篡改的节点订阅分发中心。