---
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
- 无
