分享 在家里部署一个公开访问的 web 服务

Laotree · 2022年05月29日 · 最后由 ecloud 回复于 2022年05月30日 · 822 次阅读

出发点

搭建一个 web 服务之后,部署到哪里一直有比较定向的思维,也是就到公有云提供商买一台机器发布。如果作为新用户,可以享受一些优惠的价格,但是一旦变成熟客,便有价格的不适。于是就想着在家里使用闲置的机器,搭建可以公开访问的 web 服务。

思路

想起一道非常经典的面试题:当你在搜索栏里 Google 的时候,发生了什么,详细的讲一下。

  • 使用未回收的电子垃圾扎出来的一台小机器
  • 在机器上部署 web 服务
  • 使用 Nginx 进行请求到达本机后的转发
  • 家里有 2 层路由转发,对路由器做好 Port Forward,保证隧道的流量可以转发
  • 让互联网知道这里有一个 web 服务,这是最复杂的一点

TODO

  • 一旦公开访问,就会遭遇到未知世界的探测甚至攻击,最好机器能与其他家用设备网络、硬件隔离
  • 互联网到隧道入口的连接非常稳定,但是进入隧道后到达家里的 web 服务就不是非常稳定了,暂时可以靠定时重启隧道链接保证不会一直挂着。也可以通过购买负载均衡等等增值服务提高稳定性。不花钱的前提下,看了一下增值服务的介绍,大概就是做好监控,断链恢复,是个 DIY 的好故事。

还是部署在云上吧,

pynix 回复

之前部署在云上的,续费的价格太高了,我想降个配置,结果直接脱管了。于是就尝试了一下这个方案。

弱弱的问下 你知道 ddns 吗

RoyZheng 回复

不知道,谢谢科普👍

尝试了下确实有点舒服。

RoyZheng 回复

ddns 的前提是要有公网 IP。

linode 最低配置 vm $5/month,免费公网 IP,非常稳定

crazyjacky 回复

感谢推荐,我去看看🚍

目前是开了个最低配 vps 给家里的机器做反代,前段时间也搜到了 cloudflare tunnels 的方案,不过还没时间实验,感谢楼主分享。

lolychee 回复

vps 反代到你家里的链路是怎么弄的?也是隧道吗?

vultr 最低$2.5 每月,部署一个小博客还是够用了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号