Auto-sync: 2026-04-26 20:02

This commit is contained in:
2026-04-26 20:02:45 +08:00
parent d42bc16120
commit b7d9d0f5d1
54 changed files with 3196 additions and 3021 deletions

View File

@@ -1,89 +1,54 @@
---
title: "通过VPS+内网反向代理实现域名访问内网穿透"
type: source
tags: [vps, caddy, frp, reverse-proxy, troubleshooting, cloudflare, 内网穿透]
date: 2026-04-14
---
## Source File
- [[raw/Home Office/通过VPS+内网反向代理实现域名访问内网穿透.md]]
## Summary (用中文描述)
- 核心主题:通过 VPS + frp + Caddy 实现内网服务的公网域名访问(内网穿透)
- 问题域:家庭网络内网服务NAS、Ubuntu 服务器)无法直接被公网访问的问题
- 方法/机制frp 反向隧道frps 服务端 + frpc 客户端)+ Caddy 反向代理 + Let's Encrypt 自动 HTTPS
- 结论/价值:建立完整的内网服务公网访问架构,支持 NAS n8n Grafana 等多服务通过独立子域名访问
## Key Claims (用中文描述)
- frp 专为内网穿透设计,支持 NAT 穿透、自动重连、Web 管理面板(可选)
- VPS 上的 Caddy 反向代理到 frps 映射端口127.0.0.1:xxxxx提供 HTTPS 访问
- SSH 穿透与 HTTP 不同SSH 是纯 TCP 流量不经过 Caddy frps + frpc 配置即可
- frps 监听 7000 端口dashboard 可选监听 7500 端口
## Key Quotes
> "frp 优点:专为内网穿透设计,支持 NAT、自动重连、Web 管理面板(可选)。推荐当你有多台设备和多端口时使用。" — frp 核心优势说明
> "SSH 穿透与 HTTP 不同,它是纯 TCP 流量,不经 CaddyCaddy 只处理 HTTP/HTTPS所以Caddy 不参与 SSH 的代理,只用 frps + frpc 配置即可完成。" — SSH HTTP 穿透关键区别
## Key Concepts
- [[内网穿透]]:通过公网 VPS 建立反向隧道,使内网服务可被公网访问的技术
- [[反向代理]]VPS 上的 Caddy 将公网请求代理到 frp 映射的本地端口
- [[TCP 隧道]]frp 建立的 TCP 端口映射隧道,连接内网服务与公网 VPS
- [[Let's Encrypt]]Caddy 自动申请的免费 SSL 证书提供商
## Key Entities
- [[frp]]:内网穿透工具,包含 frps服务端和 frpc客户端两个组件
- [[Caddy]]Go 语言编写的自动 HTTPS 反向代理服务器
- [[阿里云 DNS]]:域名 ishenwei.online 的 DNS 解析服务提供商
- [[VPS]]公网服务器192.227.222.142),运行 frps 和 Caddy 作为反向代理中转站
## Connections
- [[内网穿透]] ← uses ← [[frp]]
- [[反向代理]] ← uses ← [[Caddy]]
- [[反向代理]] ← depends_on ← [[TCP 隧道]]
- [[VPS]] ← hosts ← [[frp]]
- [[VPS]] ← hosts ← [[Caddy]]
- [[群晖 NAS]] ← accessed_via ← [[内网穿透]]
## Domain Mapping (本方案配置)
| 域名 | 内网服务 | 映射端口 |
|------|---------|---------|
| nas.ishenwei.online | NAS Web UI | 192.168.3.17:5000 → VPS:15000 |
| n8n.ishenwei.online | Ubuntu n8n | 192.168.3.47:5678 → VPS:15678 |
| transmission.ishenwei.online | Ubuntu Transmission | 192.168.3.47:9091 → VPS:19091 |
| grafana.ishenwei.online | Ubuntu Grafana | 192.168.3.47:3000 → VPS:13000 |
| ubuntu1.ishenwei.online:60022 | Ubuntu SSH | 192.168.3.47:22 → VPS:60022 |
## Architecture Diagram
```
Internet
┌─────────────────────────────────────┐
│ VPS (192.227.222.142) │
│ - frps (监听 7000) │
│ - Caddy (80/443 TLS) │
│ ├─ nas.ishenwei.online → 127.0.0.1:15000
│ ├─ n8n.ishenwei.online → 127.0.0.1:15678
│ └─ transmission.ishenwei.online → 127.0.0.1:19091
└─────────────────────────────────────┘
▲ ▲
│ frp tunnel │ frp tunnel
┌────────────┐ ┌────────────┐
│ NAS (192.168.3.17) │ │ Ubuntu (192.168.3.47) │
│ frpc.ini │ │ frpc.ini │
│ 映射5000→15000 │ │ 映射5678→15678 │
└────────────┘ └────────────┘
```
## Contradictions
-
## Troubleshooting Summary
1. 确认 frps 是否监听端口:`ss -lntup | grep 7000`
2. 确认进程读取的配置:`ps -ef | grep frps`
3. 确认防火墙放行:`sudo ufw status`
4. 确认没有 Caddy/Nginx 占用端口
5. 确认 token 一致性:`journalctl -u frps -n 100`
6. telnet 诊断:`telnet 192.227.222.142 7000`
7. 重启服务:`systemctl restart frps && systemctl restart frpc`
---
title: "通过VPS+内网反向代理实现域名访问内网穿透"
type: source
tags: [vps, caddy, frp, reverse-proxy, troubleshooting, cloudflare]
date: 2026-04-03
---
## Source File
- [[Home Office/通过VPS+内网反向代理实现域名访问内网穿透.md]]
## Summary用中文描述
- 核心主题:通过 VPSfrps + Caddy建立反向隧道使内网服务NAS、Ubuntu可通过 `*.ishenwei.online` 域名从公网安全访问。
- 问题域:家庭内网设备无公网 IP无法被外网直接访问需要将内网服务通过公网 VPS 暴露为 HTTPS 域名。
- 方法/机制frpfrps 服务端 + frpc 客户端)建立 TCP 反向隧道 → VPS 本地端口映射 → Caddy 反向代理到对应端口并自动申请 Let's Encrypt HTTPS 证书。
- 结论/价值:完整的内网穿透方案,支持 NASn8n、Transmission、Grafana、Navidrome、Calibre、WebDAV 等多服务,附 SSH 穿透和故障排查指南。
## Key Claims用中文描述
- frp 专为内网穿透设计,支持 NAT 穿透、自动重连、Web 管理面板,比纯 SSH 隧道更适合多设备多端口场景。
- Caddy 自动处理 Let's Encrypt 证书申请和续期,无需手动配置 HTTPS
- SSH 穿透TCP 映射)不经过 Caddy依赖 frps + frpc 配置
- 故障排查核心:确认 frps 监听端口正确、token 一致、防火墙放行 7000 端口、frps 日志无 token mismatch。
## Key Quotes
> "frp 优点:专为内网穿透设计,支持 NAT、自动重连、Web 管理面板(可选)。推荐当你有多台设备和多端口时使用。" — 方案选型说明
> "Caddy 会自动申请并更新 Let's Encrypt 证书,提供 HTTPS 访问。" — HTTPS 配置结果
> "SSH 穿透与 HTTP 不同,它是纯 TCP 流量,不经 CaddyCaddy 只处理 HTTP/HTTPS所以Caddy 不参与 SSH 的代理。" — SSH vs HTTP 穿透关键区别
> "authentication failed token mismatch invalid login → 那肯定是 token 和 frpc 不一致。" — 常见故障根因
## Key Concepts
- [[反向代理]]Caddy 将公网请求反向代理到 VPS 本地 frp 映射端口127.0.0.1:xxxxx
- [[内网穿透]]:通过 frp 反向隧道穿透 NAT/防火墙,使内网设备可被公网访问。
- [[TCP隧道]]frp 将内网 TCP 端口映射到 VPS remote_port实现任意 TCP 协议穿透。
- [[Caddy]]Go 语言反向代理服务器,自动 HTTPSLet's EncryptCaddyfile 配置各子域名反向代理到对应 frp 端口。
- [[frp]]开源内网穿透工具frps服务端监听 7000 端口frpc客户端建立反向隧道。
## Key Entities
- [[RackNerd]]VPS 提供商IP: 192.227.222.142),托管 frps 和 Caddy作为内网穿透公网中转站。
- [[Synology NAS DS718]]:群晖 NAS192.168.3.17),运行 NAS 管理界面5000、Navidrome4533、Calibre8083、WebDAV5005等服务通过 frpc 映射到 VPS。
- [[Ubuntu]](内网 Ubuntu1 192.168.3.47):运行 n8n5678、Transmission9091、Grafana3000、SSH22通过 frpc 映射到 VPS。
- [[n8n]]自动化工作流工具192.168.3.47:5678通过 frp 暴露为 `https://n8n.ishenwei.online`
- [[阿里云-DNS]]:管理 `ishenwei.online` 域名解析A 记录指向 VPS 公网 IP。
## Connections
- [[frp]] ← reverse_tunnel ← [[Synology NAS DS718]]frpc 客户端,映射 5000→15000
- [[frp]] ← reverse_tunnel ← [[Ubuntu]]frpc 客户端,映射 5678/9091/3000/22
- [[Caddy]] ← reverse_proxy ← [[frp]](反向代理到 frp 映射的本地端口)
- [[阿里云-DNS]] ← DNS_record ← [[RackNerd]]A 记录指向 VPS IP 192.227.222.142
## Contradictions
- 与 [[Ubuntu安装FRP操作笔记]] 冲突:
- 冲突点:两者都描述 frp 安装,但侧重不同。
- 当前观点本文档通过VPS+内网反向代理侧重完整方案frps+VPS+Caddy+多服务+SSH穿透+故障排查),是完整的操作指南。
- 对方观点:[[Ubuntu安装FRP操作笔记]] 侧重 FRP 本身安装配置frps.ini/frpc.ini 详解),偏向 FRP 工具参考手册。
- 说明:两者互补,本文档是完整实践指南,对方是工具参考,两者不存在实质矛盾。