如何通过 DNS HTTPS 记录实现 Web 服务端口隐藏

在家庭或办公网络由于ISP限制等原因,常常无法使用标准的443端口搭建HTTPS服务,这给自建Web服务带来了诸多不便。借助DNS的SVCB/HTTPS记录(又称DNS HTTPS记录)以及现代浏览器的支持,可以让Web服务运行在非标准端口(如66、8443等)时,用户无需输入端口号,即可通过域名直接访问到你的Web服务,实现“端口隐藏”。本文介绍这种方案的原理、配置和现实中的实际例子,并特别说明目前的浏览器兼容性。

一、工作原理

SVCB(Service Binding)及 HTTPS 记录是 DNS 的新类型,用于告知客户端如何访问服务的详细参数,比如支持的协议、优先端口等。当浏览器收到这类记录并支持相应标准时,就能够自动切换到你声明的端口(如66),而用户依旧输入标准域名,无需关心端口细节。

流程大致如下:

  1. 服务器监听非443的HTTPS端口(如66)
  2. DNS中为域名添加HTTPS记录,声明端口号
  3. 支持该标准的浏览器(目前主要是Firefox)识别记录并转向目标端口
  4. 用户体验与标准 https://yourdomain.com/ 完全一致

二、服务器和 DNS 端配置

1. 配置 Web 服务监听非标准端口

 

以 Lucky为例,Web服务规则监听66端口并启用TLS.

确保 https://hideport.lucky666.cn:66/ 能正常访问。

 

2. 设置 DNS HTTPS 记录

假设目标域名为 hideport.lucky666.cn,通过LuckyDDNS 在支持 SVCB/HTTPS 记录的 DNS 服务商(如 Cloudflare)处添加如下记录:

  • 记录类型:HTTPS
  • 记录名:hideport.lucky666.cn
  • 记录内容:1 . alpn="h3,h2“  port="66"

三、实际案例演示

假设你已经完成上述配置,则有如下情况:

  • 你的 Web 服务实际运行在 https://hideport.lucky666.cn:66/(端口66,需保证证书及防火墙放行)

  • 在 DNS 中为 hideport.lucky666.cn 配置了:

    HTTPS 1 . alpn="h3,h2" port="66"
  • 用户使用新版 Firefox 浏览器,打开 https://hideport.lucky666.cn/无需手动输入端口号,浏览器自动感知端口并访问66端口

  • Web 服务器端日志可以看到实际命中66端口请求

例如,在Firefox地址栏直接输入:

https://hideport.lucky666.cn/

浏览器将会正确无感跳转至66端口并展示内容。


四、客户端设置

1. 确保浏览器支持 DoH(DNS over HTTPS)

以 Firefox 为例:

  • 打开“设置”→“网络设置”→启用“DNS over HTTPS”
  • 建议选择 Cloudflare 等受信任的 DoH 服务商

2. 访问测试

此时直接在地址栏输入 https://hideport.lucky666.cn/,Firefox 会自动根据 DNS 记录访问指定的66端口,域名栏不会显示端口号,用户体验无缝。


五、兼容性说明(重点)

目前,各大浏览器对 DNS HTTPS 记录的支持进展不同:

  • Firefox 新版本(v89及以后)已完整支持自动端口发现和跳转,无需用户干预
  • Chrome、Edge、Safari 目前尚未实现通过 DNS HTTPS 记录自动切换端口的功能。即使配置了记录,这些浏览器访问时仍旧只会尝试标准443端口(需手动指定端口号才能访问)
  • 未来随着标准普及,主流浏览器有望支持该特性;但当前如需全终端兼容,仍建议 Web 服务监听443端口

部署建议:

  • 家庭网络等场景无法使用443端口时,本方案可提升体验
  • 面向所有终端的公开站点,建议继续使用443端口
  • 部署后请务必在目标浏览器上测试

六、注意事项与风险

  1. 安全性:隐藏端口不能代替安全加固,只适合“信息隐藏”或安全分层
  2. SEO:部分搜索引擎或采集器无法采集配置了端口隐藏的站点,影响站点曝光
  3. DNS 普及度:国内大多 DNS 服务商暂不支持 HTTPS/SVCB 记录,选型需留意
  4. 证书配置:务必保证证书完整覆盖主域名,且服务端66端口位于受信防火墙之内

七、总结

借助 DNS HTTPS 记录与支持新标准的现代浏览器,可以实现在客户端自动“隐藏”非443端口的 Web 服务访问。对于无法获得标准443端口但又希望提供新一代无端口号展示HTTPS访问体验的家庭或小型办公网络场景,本方案非常适用。当前仅 Firefox 支持自动端口发现,Chrome 及其他主流浏览器尚不支持自动跳转端口,部署和推广时需充分注意兼容性。

希望本文为有相关需求的朋友提供技术思路和实际操作示例。