F**k 443

众所周知,国内家庭宽带的网络接口 80 和 443 是被监控的,如果这两个接口有外部 http 访问,过一段时间,运营商就会阻断所有发往这两个端口的请求。这样一来,我们就不得不使用带有端口的网址,例如 https://nas.kidylee.com:8443 来访问自己搭建的服务。

Cloudflare 提供的 Rule 功能可以完美地解决这个问题。它的基本原理是:Cloudflare 会代理接收所有发往域名的请求,在转发到真实地址之前,可以对请求应用一些规则,比如更改转发端口。

具体设置如下:

  • 在路由器上设置端口映射功能,将外网接收端口改为 8443,确认 https://nas.kidylee.com:8443 可以正常访问。
  • 打开 Cloudflare,选中域名,在该该域名下创建一个 Rule: F**k 443, 选择: Custom filter expression, 在 Field 里选择 URI Full - wildcard - https://*.kidylee.com/* 。我的这个配置是将所有的子域名,全部选中,你也可以只选一个域名。最后的*不能省略,否则域名下的资源则无法访问。
  • Destination Port 选择 Rewrite to… , 这里填写 8443. 之后保存即可。

在完成上述配置后,既可以在 url 上免去端口了: https://nas.kidylee.com:8443。