硬件配置
- VPS
- Raspberry 5
- 阿里云中继服务器
- 路由器?
网络配置
SMB
负责内网访问。
http与https
采用FRP+Nginx Proxy Manager双重代理:
graph TD classDef public fill:#FFA07A,stroke:#FF4500,stroke-width:2px; classDef key_component fill:#FFD700,stroke:#DAA520,stroke-width:2px; classDef internal fill:#D3D3D3,stroke:#696969,stroke-width:2px; classDef docker fill:#E0FFFF,stroke:#00CED1,stroke-width:2px; classDef service fill:#90EE90,stroke:#3CB371,stroke-width:2px; A["用户设备/浏览器"]:::public B("HTTP/TCP 80 访问") C["DDNS: 贝锐花生壳"]:::key_component D["VPS 公网 IP / Vultr"]:::key_component E{"frps 服务 (监听 80/443)"}:::key_component F["FRP 隧道/流量进入内网"] G["树莓派宿主机/内网"]:::internal H["Nginx Proxy Manager / NPM"] I["HTTPS/SSL 443 流量"] J1["服务: 拾心咖啡屋 (宿主机)"]:::service J2["服务: Dify (Docker)"]:::docker J3["服务: Searxng (Docker)"]:::docker J4["服务: Gitea (Docker)"]:::docker A -- "(1) HTTP 请求(80)" --> B B -- "(2) DNS 解析" --> C C -- "(3) 返回 VPS IP" --> D D -- "(4) 流量到达" --> E E -- "(5) 捕获 80 端口" --> F F -- "(6) 流量转发到 NPM" --> G G -- "(7) 流量进入 NPM 80" --> H H -- "(8) 强制 301 跳转" --> I I -- "(9) HTTPS 流量(443)回环" --> E E -- "(10) 重新转发 443" --> F F -- "(11) HTTPS 进入 NPM 443" --> H H -- "(12)syner.top" --> J1 H -- "(12)dify.syner.top" --> J2 H -- "(12)searxng.syner.top" --> J3 H -- "(12)git.syner.top" --> J4 subgraph "公网/云端" D E end subgraph "内网/家庭中控" G H J1 J2 J3 J4 end