背景
上文局域网自定义域名介绍了如何基于dnsmasq服务
去管理局域网过多的服务与对应的IP和端口的问题。
本文记录一种基于Nginx的域名解析与内网穿透方案。用于解决如何更优雅的将家庭网络服务向公网提供的问题。
大环境
由于众所周知的原因,普通的家用网络有一些限制:
- 无法访问google.com等一众网站。
- 本身IP地址为运营商提供的二级或多级IP,本身并不能向互联网提供服务。
- 无法固定IP,运营商会定时重新分配IP。
- 运营商禁用
80
443
等端口。
哪里有墙哪里就会有梯子,如何解除这些枷锁可以根据如下关键字检索:
- 略
- 向运营商申请公网IP
- DDNS
- 反向代理
但无论如何枷锁始终存在,而且大有愈来愈紧的趋势,这里不再展开。
物料准备
- 一固定IP的公网服务器 如果是国内服务器则需要备案
- 域名
- 公网IP
- 一台私有服务器
方案
这里以内网和共网分别访问music.myDomain.com
(自有域名,将)为例介绍,各个关键路径以及其对应的服务。
缺陷
公网向内网做反向代理的原理为:公网服务器向内网服务器发送请求,并将请求结果转发至客户端。
- 访问公网的客户端无法直达内网服务器,流量会在公网服务器同时产生一遍上传和下载,公网上的流量又是一种比较珍贵的资源,无法做到多快好省。
- 路由器或交换机直接将外网的某个端口映射到内网的
Nginx
服务,会将内网Nginx
管理的有所服务全部暴露至公网,有一定安全问题。