--- title: "在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透" type: source tags: [vps, caddy, frp, reverse-proxy, 内网穿透, cloudflare] date: 2026-03-13 --- ## Source File - [[raw/Home Office/在Ubuntu上通过VPS+内网反向代理实现域名访问内网穿透.md]] ## Summary - 核心主题:通过 VPS (frps) + Caddy 构建内网穿透架构,实现通过域名访问内网服务 - 问题域:内网服务公网暴露 - 方法/机制:frp 隧道建立 TCP 连接,Caddy 反向代理提供 HTTPS,Cloudflare DNS 管理域名 - 结论/价值:完整的内网服务公网访问方案,支持 HTTPS 自动证书 ## Key Claims - 架构:Cloudflare DNS → VPS (Caddy+frps) → frp 隧道 → 内网 NAS/Ubuntu - frps 监听 7000 端口,frpc 将内网服务映射到 VPS 本地端口(如 15000) - Caddy 反向代理 frps 映射端口到子域名,自动申请 Let's Encrypt HTTPS 证书 - SSH 穿透不走 Caddy(纯 TCP),只通过 frps+frpc 实现 - 故障排查重点:token 一致性、防火墙端口、frps 实际读取的配置文件路径 ## Key Quotes > "Caddy 不参与 SSH 的代理,只用 frps + frpc 配置即可完成" — SSH 穿透与 HTTP 穿透的本质区别 ## Key Concepts - [[FRP]]:内网穿透工具,frps 服务端 + frpc 客户端 - [[Caddy]]:自动 HTTPS 的反向代理服务器 - [[反向代理]]:将公网请求转发到内网服务 - [[内网穿透]]:通过 VPS 中转实现公网访问内网 ## Key Entities - [[VPS]]:公网服务器(192.227.222.142) - [[Synology NAS]]:内网服务(192.168.3.17) - [[Ubuntu]]:内网服务器(192.168.3.47) ## Connections - [[Cloudflare]] ← manages ← DNS - [[VPS]] ← runs ← [[Caddy]] - [[VPS]] ← runs ← [[FRP]] - [[FRP]] ← tunnels ← [[Synology NAS]] - [[FRP]] ← tunnels ← [[Ubuntu]] - [[Caddy]] ← proxies_to ← [[FRP]] ## Contradictions - 无