主要观点:作者在工作中了解到 Cloudflare Tunnels 后对隧道技术产生兴趣,主要用于在家庭服务器上服务网站,避免端口转发和 DNS 记录更新的麻烦。经过比较选择了 tuns 作为隧道软件,在部署过程中遇到安全问题后创建了 ip-pass 来限制访问。
关键信息:
- Cloudflare Tunnels 可在有外网访问的电脑上运行以服务网站,其云端组件配置 DNS 等。
- 作者理想的隧道特征包括适用于生产、良好协议、多区域、高性能语言、额外功能、开源且非 Cloudflare 产品。
- 作者的家庭实验室设置为 Intel NUC 运行 NixOS 和 k3s,用 FluxCD 部署,tunmgr 用于部署 tuns。
- 部署后遇到来自扫描仪的请求,创建 ip-pass 通过 HTTP 服务器和 Traefik Middleware 实现限制访问的功能。
重要细节: - 作者的网站是开源食谱网站 Mealie,地址为 recipes.macchaffee.com。
- 选择 tuns 是因为其客户端部分为简单的
ssh -R,tunmgr 代码量少且可封装ssh -R。 - 部署过程包括生成 SSH 密钥、添加到 Pico 账户和 Kubernetes Secret 等步骤。
- ip-pass 是一个 Go 项目,通过 HTTP 服务器读取用户 IP 并添加到 Traefik 的允许列表中,还有网页界面。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。