众所周知,家庭宽带是不被允许对外提供 web 服务的,所以运营商会主动封禁 80 和 443 端口,这两个端口一个是 http 服务另一个是 https 服务的默认端口。
如果家庭宽带利用 DDNS 技术绑定了域名,例如f.example.home
域名,我们访问家里 https 服务的链接会是如下的形式:https://f.example.home:6789/share
。
我最近在逛博客时发现了一种方法可以省去链接中的端口号,这样我们访问的链接变成了:https://f.example.home/share
。是不是简洁美观多了,而且在技术上也灵活了。
方法来源:涛叔:解决家庭宽带 443 端口封禁问题
首先要声明的是,虽然对于服务提供者来说只需要添加一条 DNS 记录,但是目前这种方法对于访问者来说并不适用于大多数场景及用户,就是说对于绝大数访问者想要以不带端口号的形式访问服务需要手动设置及浏览器相关支持。原因在于 DoH 技术还未普及到成为 DNS 的默认设置,以及浏览器对其相关功能的实现。
具体点说,就是访问者想要通过省去端口号的链接来访问服务,需要设置浏览器的 DNS 为 DoH 。
就目前的测试情况来看,在 Windows 系统下,Chrome 和 Edge 在 DNS 已经设置为 DoH 的情况下依旧不可以❌,只有 Firefox 在设置 DNS 为 DoH 的情况下可以 ✅。在 iPad 上 Safari 在无任何特别配置的情况下直接可以✅。
系统 | 浏览器 | DNS 设置 | 结果 |
---|---|---|---|
Windows 10 | Chrome | DoH | ❌ |
Windows 10 | Edge | DoH | ❌ |
Windows 10 | Firefox | DoH | ✅ |
iOS 16 | Safari | 默认 | ✅ |
我以 DNSPod 为例:
主机记录:f
记录类型:HTTPS ,
记录值:f.example.home. alpn="h2" port="6789"
添加好记录,然后等待生效,就可以测试是否可以通过不带端口号的链接访问服务了。
我在 Firfox 中添加的是 DNSPod 的 DoH 。参考
家庭网络服务简介:家里的宽带通过 DDNS 绑定 IP ,家里的服务通过 Caddy web server 来获取证书并提供 https 服务,然后路由上做好端口映射。
推荐阅读:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.