本教程的目标是实现把家庭网络下的一台web服务器,最后完全暴露在公网中,所以不仅仅是台web服务器,应该是全能的服务器。
为什么我们需要一个家庭web服务器?
随着家庭宽带的带宽越来越高,我们不禁会想怎么好好利用这个带宽做点有意思的事情,所以打造一个家庭web服务器变得越来越流行。 家庭web服务器有如下优点:
- 对比与vps和相同配置云端服务器,家庭web服务器整体性价比非常高。
- 个人家庭宽带带宽成本越来月低。
- 可以打造家庭web服务器的设备越来越多,成本也可以很低。
- 容易和家里的联网设备组网,实现远程控制。
- 容易做本地调试(例如小程序接口开发)
缺点:
- 一般运营商会禁止到常用的web服务器端口(80,443),家庭web服务器需要避开这两个端口
- 家庭宽带的ip不是固定的,每次拨号都会有新的ip。
从上面的分析来说,家庭web服务器的好处还是挺多的,接下来我们就来打造一个家庭web服务器。
基础条件
- 家庭宽带路由器支持拨号 现在宽带运营商在安装宽带的时候会送一个路由器(或者光猫),并且一般会告诉你拨号账号和密码。如果想上海电信这样子是光猫并且没给你超级管理员账号的,你可以给电信打电话要路由器超级管理员账号和拿到拨号上网账号和密码。如果你有额外购买路由器的话,可以让光猫设置成桥接,然后连上自己的路由器,自己的路由器设置拨号。
- 路由器支持dmz 一般的都路由器都支持dmz,如果不支持建议额外购买一个路由器。
- 路由器支持ddns或者服务安装ddns服务
路由器选择注意事项
- 如果自己家的带宽大于100m 需要选择全千兆路由器
- 如果条件允许可以选择软路由,这样子可玩性更高。
- 带宽超过100m的需要注意,网线和水晶头得是支持千兆的。
web服务器选择
web服务器可以是个人电脑或者使用微型电脑。个人电脑作为常年在线的web服务器个人是不推荐的,无论是功耗还是方便性上面都不推荐。如果对web服务器性能要求不高,微型电脑是很好的选择,例如树莓派b3,斐讯n1(刷armbian)等arm架构的微型电脑性能不低,而且静音,功耗也低是不错的选择。如果对性能有比较高的需求,倒是可以自己diy一个x86架构的服务,笔者使用蜗牛星际打造一个web服务器(价格在600内),然后安装linux系统。
安装nginx,设置http监听端口为非80端口(例如81),https端口为非443(例如444)
域名解析
家庭宽带ip都不是固定的,每次拨号后ip都会变一次。这个时候传统的dns就不好弄了,ddns闪亮登场。
百度百科:
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
虽然主流的域名提供商都支持ddns,但是路由器一般不会集成你的域名提供商。根据自己的路由器支持的ddns厂商,申请一个域名(这个域名一般会是一个二级域名,可能还需要付费,一般不贵),然后配置自己的ddns。 然后再把自己的域名cname到这个二级域名上。
设置dmz主机
百度百科:
DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。
简单点说,在路由器dmz设置成你web服务器内网ip,这个时候你的web服务器就完全暴露在公网环境中。这个时候你ssh,ftp这些服务都是正常安装和服务的。
总结
到此我们把家庭中的web服务器暴露在公网的目标已经达到。其中家庭的路由器扮演着主要的角色。
版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有