Lucky STUN穿透进阶教程02:用公网服务器轻松实现无端口访问Web服务!

前一篇教程中,你已经学会了如何用Lucky STUN穿透,让自己在外也能访问家里的Web服务。但是,每次访问都要在地址后面加上一个“动态变化的端口”,还是不够优雅也容易记错。那么,能不能像访问普通网站一样,只输入域名就能直接访问,不用再管端口?当然可以!

如果你有一台公网服务器,那么接下来的方法特别适合你。本教程需要用到Lucky 2.18.1及以上版本


一、原理简述——让公网服务器帮你中转

我们的目标是:外挂一台公网服务器,把所有“需要加端口”的访问请求都中转回来,然后自动跳转到真实端口,实现真正的“无端口”访问。


二、开始设置

1. 新建泛域名 + SSL证书

新建一个新的泛域名用于公网服务器转发,比如 *.stun.ilucky.net

  • 去域名服务商把它的A记录指向你公网服务器的IPv4地址
  • 给这个域名配置好SSL证书(让你能https安全访问),这个证书不需要在公网服务器端配置,而是在家里的Lucky内配置。

2. 家里Lucky配置重定向

  • 在家里的Lucky Web服务(建议还是用16666端口)中,新增一条 “重定向”类型的子规则
    • 前端域名*.stun.ilucky.net
    • 后端地址https://{1}.ipv4.ilucky.net:{STUN_443穿透_PORT}{path}{args}
      • 这一步会“自动跳转”到你设置的动态端口
      • {STUN_443穿透_PORT} 为Lucky全局变量,根据你的STUN规则名称取,详见Lucky官网文档

这里很多人可能疑惑:为啥 *.stun.ilucky.net 的解析指向公网服务器,却要在家里Lucky先建规则?其实不用纠结,后续会由公网Lucky来请求家里的Lucky实现跳转。跟着做即可!

3. 公网服务器上的Lucky配置

  • 公网服务器装好Lucky,Web服务规则(启用TLS)监听443端口(用于https访问)。不需要上传 .stun.ilucky.net 的SSL证书到公网服务器。
  • 在Web服务中加一条“类型为SNI分流”的子规则

SNI分流就是根据访问时使用的域名(sni)来“智能分流”到不同的后端地址,实现灵活跳转。

SNI分流填写主要分两种情况:

A. 能用IPv6(推荐方式)

  • 直接设置SNI分流目标地址为你家里Lucky的IPv6域名,任意一条匹配ddns泛域名的即可如:
    lucky.ipv6.ilucky.net:16666

B. 只能用IPv4(给家里和公网服务器任意一边没有IPv6环境)

  • 家里Lucky的DDNS功能创建一个新的TXT类型域名记录,比如:

    • 记录名:*.stunaddr001.ilucky.net
    • 记录值填写:{STUN_443穿透_ADDR}(变量会自动带入STUN实际 IPv4+端口信息)
  • 公网Lucky SNI分流目标地址填写: {DNS_TXT_*.stunaddr001.ilucky.net_ADDR}

这样就能动态地让公网Lucky知道家里Lucky的真实出口端口。


三、测试&效果

  • 好了,一切设置完毕!
  • 以后你在外面只要输入 lucky.stun.ilucky.net,就能自动跳转到 lucky.ipv4.ilucky.net:stun动态端口,直接访问家里Web服务,访问体验和网上网站一样——无需再加端口号!

这种方案特别适合浏览器访问家里的各种Web应用,也适用于部分支持跳转的网址的APP(如猫头鹰文件、飞牛播放器等)。有些APP(比如飞牛APP的影视模块)可能还有兼容性问题,这部分建议找相关APP开发者反馈。


四、小结&注意事项

  • 新建一个三组泛域名:*.stun.ilucky.net(A记录指公网服务器IP)
  • 公网服务器端SNI分流子规则和家里lucky重定向子规则设置的前端域名要一致(*.stun.ilucky.net)
  • 家里Lucky设置好“重定向”规则,公网Lucky做“分流”规则
  • 只需记域名,无需再背端口,体验如同“正经网站”访问
  • 需要Lucky版本2.18.1以上,有公网服务器且能用443端口更佳
  • SNI分流目标建议优先用IPv6;没法用IPv6时,用DDNS+TXT记录辅助
  • SNI分流规则中启用ProxyProtocolV2,并且家里的lucky设置页面全局代理协议 信任的CIDR列表 添加公网服务器IP可传递访问者真实IP。
  • SNI分流只使用于HTTPS类型服务规则,别忘了在主规则中启用TLS

 

本文为 Lucky 官方文档/教程,转载请注明出处。