V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
onichandame
V2EX  ›  分享发现

让家庭服务器也能部署互联网服务的方法

  •  
  •   onichandame · 2023-09-10 22:59:20 +08:00 · 3789 次点击
    这是一个创建于 450 天前的主题,其中的信息可能已经有所发展或是发生改变。

    唠唠背景

    最近在尝试使用Joplin管理并记录自己的日常生活,看上它主要是因为数据都在本地,而且可以加密。但问题也出现了,如何将不同设备上的Joplin数据同步。首先试用了 OneDrive ,它的好处是免费,不需翻墙。但是也有两点坏处:一是数据要交给微软;二是网速太慢,同步一次要 1 分钟。因此我开始寻找更好的同步方案,然后就发现Joplin支持使用 S3 做数据同步后端。随即我产生了一个思路:在家庭服务器上部署一个minio实例提供对象存储,然后想办法让所有设备都能连上这个实例。

    架构设计

    arch

    已知的有利情况有:

    1. 家庭宽带的非常规端口一般不会被封
    2. cloudflare 可以对域名反代,以隐藏真实 IP
    3. cloudflare origin rules 允许重写端口

    因此总体设计就基于上述三点,实现一个将家庭服务器的非常规端口反代到 cloudflare 上常规端口的架构。

    细节分享

    家庭网络内部的配置就不赘述了,简单的端口映射即可。重点在于 cloudflare origin rules 的配置。截图如下:

    cforiginrule

    我还搭配上了 DDNS 以实现不间断服务,并定期更换路由器上的对外端口以避免被盯上。

    14 条回复    2023-09-13 10:27:20 +08:00
    ccbikai
        1
    ccbikai  
       2023-09-10 23:52:32 +08:00 via iPhone
    cloudflared tunnel 更简单
    qsnow6
        2
    qsnow6  
       2023-09-11 00:08:28 +08:00
    如果只是自己用的话 tailscale 把所有的设备串起来就行了,稳定、可靠。
    hugo007y
        3
    hugo007y  
       2023-09-11 00:13:17 +08:00 via iPhone
    支持 webdav ,搭一个就行了,外网用 ddns 加端口映射。不太需要做隧道。
    Tink
        4
    Tink  
       2023-09-11 00:18:18 +08:00 via Android
    建议使用 cloudflare tunnel
    chancat
        5
    chancat  
       2023-09-11 01:44:16 +08:00 via Android
    好麻烦。。直接 ddns 不得了吗?不然 zeroTier ,tailscale,cloudflared tunnel 都很简单,一个 openwrt 固件即可
    estk
        6
    estk  
       2023-09-11 07:14:27 +08:00 via iPhone
    刑,我这就去逝世
    locoz
        7
    locoz  
       2023-09-11 08:12:50 +08:00 via Android
    你这方案还可以优化,两点建议:
    1 、同步完全可以考虑用 resilio-sync 做,同步速度很快,放后台自己同步无感知。
    2 、无 vpn 通过域名不带端口且隐藏服务端 ip 访问家里的网站类服务,你可以选择用腾讯云 cdn ,支持填写自定义端口的源地址,国内使用速度比 cloudflare 快得多。
    musi
        8
    musi  
       2023-09-11 08:56:48 +08:00
    没备案被查就 gg
    azusematsuri
        9
    azusematsuri  
       2023-09-11 09:37:25 +08:00 via Android
    为啥不直接用 joplin/server
    ShunYea
        10
    ShunYea  
       2023-09-11 10:10:20 +08:00
    @chancat 这类产品是不是还是得有个主控服务器,万一哪天官方发威,是不是全部被禁用就用不了了?我现在用的自建 nps ,但是感觉更新不太频繁,负载不得而知,能用多久也不知道。
    Pteromyini
        11
    Pteromyini  
       2023-09-11 11:06:13 +08:00
    这个方案非常不完美,实际上要满足你这个需求基本有三种方案
    1 、有公网 ip ,直接 ddns ,风险是被查到可能会断网(不是危言耸听)
    2 、异地组网方式,自用通过 zerotier 、tailscale (有公网 Ip 也可以 openvpn 、wg )方案(最推荐,安全性最高)
    3 、内网穿透方案,通过 cf tunnel 、frp 、nps 等穿透特定端口(优点是可以提供公网服务而非只是自己用,缺点也很明显,除了 1 提到的合规风险外,还有带宽受限于中转服务器)
    Calaquendiv
        12
    Calaquendiv  
       2023-09-12 01:36:01 +08:00 via iPhone
    用 nas 的搭服务都有被抓的 还敢部署家庭服务器
    yzc27
        13
    yzc27  
       2023-09-13 10:04:56 +08:00 via iPhone
    @locoz 大佬,2 提到的腾讯云有教程吗?
    locoz
        14
    locoz  
       2023-09-13 10:27:20 +08:00 via Android
    @yzc27 #12 没啥必要看教程,自己上腾讯云操作一下就知道了,产品名和核心方法都摆着了…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1414 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:32 · PVG 01:32 · LAX 09:32 · JFK 12:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.