前言

个人使用群晖NAS时,经常遇到在外地访问家里的NAS服务器(域名+端口)的场景。这种情况就会涉及到端口映射及反向代理的问题。

个人家庭网络拓扑图

反向代理

场景

博主想访问家里NAS中利用Docker启动的某个程序(端口:18080):http://nas.renyuxin.cn:18080

ps:该场景是基于能通过域名正常匹配上家里的IP地址(动态固定IP)

Docker使用的是HTTP协议,如果普通程序在没有特殊情况下,是允许使用HTTP协议进行访问的,但某些程序由于加了访问条件限制,浏览器访问必须得使用HTTPS协议才能正常访问,所以我们就需要在NAS中做反向代理。

解决方案

  1. 群晖控制面板 -> 登录门户 -> 高级 -> 反向代理服务器 -> 新增 -> 填写配置
  2. 修改完后,点击保存
  3. 网页访问测试:http://nas.renyuxin.cn:18081,成功
  • 填写配置时,这里一定注意来源这组配置,我们是需求是支持通过HTTPS协议进行访问的,需要用一个未被占用的18081端口反向代理到这个18080端口上。
  • 至于其他配置的可以根据下图仿照着修改。
  • 保存后再访问,经过层层转发,就能正常访问到程序了。

端口映射

场景

博主在外地,想访问家里NAS中利用Docker启动的某个程序(端口18080):http://nas.renyuxin.cn:18080

访问18080端口时,会出现:无法访问此网站拒绝了我们的连接请求。ERR_CONNECTION_REFUSED等提示。

这是因为访问的端口并没有映射到群晖NAS上,所以无法访问。

解决方案

众所周知,正常家庭网络是没有固定IP的(没钱开专线😭),更别提端口映射了。
如果想要在外网访问家庭网络,可以参考【群晖NAS如何实现外网访问】。