免费方案家庭建站-配置简单、服务稳定、安全有保障

2023-06-0616 min 杂项

说在前面

为什么选择本地建站

本地建站,相较于云端,灵活性更好,我们拥有对服务器完全的控制权,能够随心所欲非常方便的部署项目跟维护,最主要的,云服务器成本太高(那些优惠的配置也很拉跨)。除了web需求,甚至还可以搭建mc服务器这类应用。

关于公网ip

如果有公网ip那么就不需要穿透了,但套壳是必要的,因为建站的话公网ip暴露还是很危险的,不要觉得勒索病毒这类离你很远,这些病毒是无差别攻击漫游在网络之间的,属于见缝插针类型,还是要警惕的。大部分家庭能申请到的公网ip往往都是动态的,会变动,需要ddns,对于网络环境不好经常变动的情况下,穿透方案实际上会好很多(0后续配置,有网就能用,宽度寄了热点一样穿,家里带到学校一样穿)。

我的应用场景

本人由于学习需要,购入了一台mini主机作为我的便携服务器,在学校就是接入校园网使用,回家那么就算移动宽带,网络上的变动较多,也没有公网ip,有部署个人博客、开发环境、校园网认证等等需求。

cloudflare tunnels 与 又拍云cdn介绍

什么是cloudflare tunnels

Cloudflare Tunnels是一种隧道软件,可以让你快速地保护和加密应用程序流量到任何类型的基础设施,这样你就可以隐藏你的web服务器的IP地址,阻止直接攻击。Cloudflare Tunnels通过在你的基础设施中运行一个轻量级的守护进程(cloudflared),在你的源web服务器和Cloudflare的最近的数据中心之间建立一个加密的隧道,而不需要打开任何公共的入站端口。Cloudflare Tunnels可以安全地将HTTP web服务器、SSH服务器、远程桌面和其他协议连接到Cloudflare。

之所以选择cloudflare tunnels,主要是与很多穿透工具不同,Cloudflare Tunnels支持泛域名解析,本地只需运行守护程序,不需要额外配置,新增解析只需要在Cloudflare 的网络控制面板进行即可,非常方便,而且大厂背书,稳定安全不用质疑,唯一的缺陷可能就是速度了,但对于web建站来说这就是套个cdn能解决的简单事情。

又拍云cdn

又拍云cdn大家应该不陌生,他也给参加了又拍云联盟认证的用户提供了免费的额度,又拍云联盟是又拍云推出的开发者帮助计划,对开发者提供免费且完善的云存储、CDN 等服务,加速个人网站、博客、APP 等项目。又拍云联盟用户每月独享优惠,包括 10 GB 免费存储空间和 15 GB 免费 CDN 流量。加入又拍云联盟的条件是在申请的网站或应用底部添加又拍云 LOGO 及链接,并填写申请表。又拍云联盟会在 1-3 个工作日完成审核并发放资源,一次性赠送 12 个月的云服务资源,并折算成代金券发放到用户的账户,代金券到期后需再次提交申请。

选择又拍云cdn的主要原因是他的免费额度是支持https的,功能也比较全。

准备工作

本文核心是cloudflare tunnels 穿透的教程,其它应用及系统的安装配置教程需要您其他途径搜索

  • 一台物理机,可以是你自己的电脑或者闲置主机等,已经安装了系统和docker

  • 一个域名(cloudflare tunnels 不需要备案,但又拍云cdn是需要备案域名的)

  • 又拍云账号 前往注册

  • cloudflare账号 前往注册

  • 域名接入cloudflare(按照cloudflare的提示在运营商那修改dns)

cloudflare tunnels部署配置

这里推荐docker部署

  1. 登录cloudflare账号,点击Zero TrustAccessTunnels,点击Create a tunnel创建隧道,Save Tunnel保存。

  2. 找到你的token,复制代码到服务器中运行

    docker run -d \
      --name cloudflared \
      --restart always \
      cloudflare/cloudflared:latest \
      tunnel --no-autoupdate run \
      --token [你的token]
    
  3. 进入隧道配置页面,点击Public hostnameAdd a public hostname选择自己托管在cf的域名,可选自定义子域名,Type是传输协议web服务就选择http,URL填写你的应用本地的地址,点击Save hostname保存。

    域名的Path选项是指定路径解析,比如你有一项服务,他其中一个api是访问192.168.88.22:2222/orc 来进行的,你不希望其他api暴露,那么你就可以使用path,输入orc,这样test.kanj.top/orc就会直接解析到你本地的192.168.88.22:2222/orc,而且只有该路径解析,其他路径还是不被暴露的

  4. 等待一会再通过域名看看是否能够成功访问。

又拍cdn加速配置

如果你不在乎访问速度,那么这一步也可以不进行,这里只介绍配置时与一般的cdn配置需要注意的几点,其他配置参考这篇文章博客的CDN应该怎么配置才能有效](https://www.gmero.com/article/4)

配置CDN时主要是在回源管理上与一般的配置不同,我们需要将源站与回源host都设置成我们穿透的域名,不然的话又拍云cdn找不到我们的源站

说在最后

这套方案总体效果不错,我的博客 www.gmero.com 就是这么部署的,在cloudflare开启网站不离线后就算暂时服务器宕机博客也是能够正常访问的(通过访问边缘节点上的缓存)。对于其他注重实时的响应速度的应用,例如游戏服务器,那么就建议使用国内的成熟穿透服务了,我使用过樱花的10元套餐,体验很好,mc服务器延迟也很低。免费当然不能要求太多。

评论
正在加载评论组件...