目 录

文章目录

公网域名反代免端口访问教程

Kiro君
2022-01-29 / 0 评论 / 1 点赞 / 69 阅读 / 2,056 字
温馨提示:
本文最后更新于 2022-02-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

有公网ip,有域名,此前一直在用 http://域名:端口号 并 在路由器openwrt中配以 端口转发 来访问群晖下的应用,随着应用增多,端口也越来越多不能一一记住哪个端口是哪个应用,这让我非常苦恼,此前接触过反向代理nginx(配置VPS的时候用过)、Caddy(配置VPS的时候用过)、Frp(配置内网穿透的时候用过)等工具,奈何现在没有VPS(没钱),连科学上网还是白嫖的Heroku(🙏 感谢~ORZ),在群晖自带的反向代理配置后始终无效。
我就在想,既然有公网了为什么不能像VPS一样反代成功?在试了3天后,终于明白问题原因了:80端口被openwrt的luci登陆入口占用,导致不能用80端口 「传统上http(https)协议访问的是80(443)端口,只不过80(443)端口作为默认不需要你输入」 直接访问你想要的二级域名从而达到访问群晖应用的效果,这一篇教程作为总结以供大家参考。

环境

  • 路由器:OpenWrt
    • FRPS(FRP服务端,在有公网环境下使用)
    • FRPC(客户端,需要被访问的内网环境下使用)
  • 群晖
    • Docker
      • Bridge模式(需要配置端口)
      • Host模式(免端口配置)

小明的故事

  1. 小明家的宽带有一个动态公网IP 「静态的是商用专线」 ,小明有一个路由器,他使用了光猫桥接方式让路由器进行拨号(PPPoE).
    1. 小明想在公司访问他家的路由器,输入 http://公网ip 即可.
  2. 小明很苦恼,ip地址根本记不住,为此他买了个10年的域名233.com打算弄域名解析。
    1. 小明在CloudFlare将二级域名net.233.com他的公网IP进行A记录解析;
    2. 小明通过域名http://net.233.com而不是公网ip访问了他的路由器.
  3. 小明还是很苦恼,每次路由器重启ip地址都会变化,小明给路由器安装了OpenWrt,里面有很多很多令人兴奋的插件和功能,包括luci-app-ddns,小明将需要的域名在ddns插件弄好后,每次重启路由器ip变化交给它自动解析不再需要手动了,小明很开心。
  4. 小明的**网盘存放了很多东西都被和谐了,小明很苦恼,为此弄了个群晖作为他的私人网盘。
    1. 小明把群晖插在路由器上,在路由器上配置了端口转发
      路由器wan 192.168.1.1:5000 --> 群晖lan 192.168.0.100:5000
    2. 小明通过域名远程访问他的群晖
      net.233.com:5000
  5. 小明在群晖上安装了各种应用,比如思源笔记,端口太多记不住,他想直接使用nas.233.com来访问群晖,直接使用note.233.com来访问思源笔记,他是这样做的……

原理

  • 互联网访问NAS
graph LR; Web--访问-->NAS NAS--返回-->Web
  • 端口访问流程
graph LR; Web:port--域名解析-->OpenWrt:80 OpenWrt:80--端口转发-->NAS:port
  • 反向代理流程
graph LR; Web--请求-->FRPS FRPS--请求-->FRPC FRPC--自定义二级域名与应用端口绑定-->NAS FRPC--返回二级域名-->FRPS FRPS--访问成功-->Web
  • 端口转发流程
graph LR; Web:80 --> FRPS:7000 FRPS:7000 --> FRPC:7000 FRPC:7000 --> FRPS:7000 FRPC --> NAS应用+端口绑定二级域名 FRPC:7000--二级域名:http80-->FRPS FRPS--访问成功-->Web:80

步骤

1. 编译安装好luci-app-frpcluci-app-frps

2. 路由器更改luci端口为8080,将80端口留出来

  • 进OpenWrt SSH
ssh root@192.168.1.1
  • 参照以下教程更改端口

Openwrt 修改Web页面默认访问端口

🐷 修改端口需要简单熟悉vim命令或用其他趁手的工具

🐷 本案中修改了ipv4ipv6的端口, 将80改为8080
注意端口配置不要冲突,否则无法正常运行!

3. 配置 FRPSFRPC

建议参考官网教程进行配置

FRPS


🐷 FRPS按需勾选确认,唯一需要注意的地方是上图中标记处需要填入80,以便FRPS反代http的80端口

FRPC



⚠️ 🐷 需要使用到的二级域名请提前做好DDNS,全部A记录解析为你的公网ip

建议

  • 将NAS的IP静态绑定,重启路由器ip就不会变动

后记

  1. 目前博主wan80/443端口被封,外部网络环境无法访问域名(访问超时),故添加其他端口转发到本机80端口(FRP设置不变),所有二级域名暂时只能带666端口访问
  2. 将openwrt的80端口改为8080或其他端口后,尚不清楚群晖自带的反向代理是否能使用了,之所以不用群晖自带的反向代理主要是openwrt也需要反代以此访问luci对其配置,在群晖内部反代恐怕不合适。

欢迎小伙伴们留言指正谬误.

交流

欢迎加入 QQ频道【黑苹果Hachintosh|路由器Router】

1

评论区