一. 前言


众所周知,所有网络服务在运行时都需要监听端口号,例如通过 http(s)://地址:端口 的格式可以用来访问某个网站。如果这个网站使用的是 80 / 443 这样的默认端口,在访问时还可以省略端口号,比如百度 https://www.baidu.com 的地址实际上是 https://www.baidu.com:443,省略掉端口号可以让网址更加直观,还能方便记忆。

但在国内由于运营商的各种限制,就算申请到公网 IP 也会发现 80/8080/443 等常用端口被禁用。如果想要开通必须给网站备案,然后向运营商提交申请。而很多人发现申请解除了限制过段时间也有可能又被莫名其妙关掉,非常麻烦。

二. 解决方案


在这种情况下想要访问自建的网站会增加一些麻烦,实际上能使用的方式其实有很多,而且各有优劣。

方案 / 效果 操作难度 隐藏端口 访问速度 实现成本
更换端口 ⭐️
隐/显性 URL 记录 ⭐️⭐️
Cloudflare 代理 ⭐️⭐️⭐️
NPS / FRP 内网穿透 ⭐️⭐️⭐️⭐️⭐️

1. 更换端口

这个方案其实是最简单,也最没有技术含量的一种方法了。换一个端口号不会影响添加证书使用SSL,缺点就是没办法隐藏端口号。

2. 隐/显性 URL 记录

这个需要配置两条域名解析才可以达到效果,例如您的域名是 example.com,网站监听在 12345 端口,最终想要用 redir.example.com 访问网站:

  1. 主机名 a → 记录类型 A/AAA → 记录值 IP地址
  2. 主机名 redir → 记录类型 隐/显性 URL 记录 → 记录值 http(s)://a.example.com:12345

在只配置了第一条的情况下,访问网站的地址是 http(s)://example.com:12345。但在配置了第二条之后,就可以使用 redir.example.com 访问网站了。

但这种方式有致命的缺点,您会发现用配置 隐性URL记录 的域名访问网站,无论在如何切换页面 URL 都是 redir.example.com ,地址栏不会发生任何变化,也就意味着不能复制定位到指定页面的 URL 路径。如果用配置 显性 URL 记录 的域名访问网站,地址栏会立即跳转到 http(s)://a.example.com:12345,根本达不到隐藏端口号的目的。

这是因为 隐性 URL 记录 是将网站内容直接展示在当前页面下,就像是嵌套了个网页,无论怎么切换页面地址栏的 URL 都不会发生变化。而 显性 URL 记录 是直接将页面重定向了记录值,会把真实的域名和端口暴露出来。

如果您的网站只有单个页面,不在乎 URL 地址是否变化,配置 隐性URL记录 来达到效果会更合适。

需要注意的是不同的域名注册商记录类型名称会有差异,已知阿里和腾讯的域名解析支持配置 隐/显性 URL 记录

3. Cloudflare 代理

关于赛博活佛的事迹大家可能已经听过不少了,使用 Cloudflare 解析域名可以使用免费的代理功能,访问网站会通过代理服务器中转请求,能达到隐藏网站的真实 IP 的效果,而且还提供免费的 SSL 证书和 DDOS 攻击防御。

Cloudflare 代理在开启状态下,会先通过 443 端口强制 SSL 连接中转服务器,再由中转服务器通过 80/443 端口连接至网站。由于网站的 80/443 端口不通,因此需要额外的配置修改代理服务器连接网站使用的端口。

切换加密模式

点击菜单 SSL/TLS概述配置,切换加密模式到 完全(严格)

2025/02/02/solving-home-width-443-80-is-disabled-03.png

获取边缘证书

切换加密模式后,代理服务器与我们的网站之间也需要使用 SSL 加密,因此需要下载边缘证书并配置到网站。点击菜单 SSL/TLS边缘证书 获取和下载,该证书是通配符证书,到期后会自动续订,无需定期更新。

2025/02/02/solving-home-width-443-80-is-disabled-04.png

创建规则

点击菜单 规则Orign Rules创建规则,网站的端口以 123456 为例。字段选择 SSL/HTTPS,重写到 123456

2025/02/02/solving-home-width-443-80-is-disabled-05.png

在像实例图片这样配置后,访问 https://test.myhs.cc 就相当于访问的是 http://123.123.123.123:12345,而且还是 SSL 加密连接。

如果只需要对某个特定的域名解析生效,还可以点击图中的 And 按钮添加 主机名 规则。


该方法唯一的缺点就是代理服务器都在国外,访问速度很慢。如果想加速自己电脑的访问速度,可以通过 测试工具 获取访问速度最快的代理服务器 IP 并修改 Hosts 文件,就能加速访问网站。

4. NPS / FRP 内网穿透

该方法的原理是通过有公网 IP 的服务器来中转请求,需要在服务器和网站所在的设备上分别配置好服务端和客户端。好处是允许网站所在设备没有公网 IP,但需要额外的支出购买服务器。

由于博主在撰写时没有可以使用的服务器,所以在未经测试的情况下无法提供教程,您可以自行参阅项目文档: