
这是我的方案:
NAS 上运行 frpc ,云服务器运行 frps ,假设我要暴露 alist 服务(运行在 NAS 上,端口 5244 ),frpc 的配置就是:
[[proxies]] name = "alist" type = "tcp" localIP = "127.0.0.1" localPort = 5244 remotePort = 5245 transport.useCompression = true 域名 alist.myhome.com 解析到云服务器上,云服务上运行一个 caddy ,将 https://alist.myhome.com 的访问转给云服务器上的 127.0.0.1:5245 。
NAS 上我在配置 Nginx 的反向代理,源为 https://alist.myhome.com 目的为 localhost:5244 ,这样 HTTPS 就启用成功了。
我不明白的地方是 frp server 将请求发给 frp client 后,为什么会经过 Nginx ?
1 imdong 342 天前 via iPhone 有哪些可能,你这步 Nginx 是多余的呢 |
2 yulgang 342 天前 nas 上配置 nginx 那步应该是为了让内外网访问方式一致,又不用去外面绕一圈吧,估计还有个内网 dns 服务,内网解析域名时返回的是 nas 主机的 IP ,互联网上解析你的域名就是云服务器的 IP |
3 jukanntenn OP |
4 huaxianyan 342 天前 Nginx 这步不需要啊,你用 Frp 转发就相当于把 NAS 上的东西变成云服务器上的一个本地服务,要做一个使用 Web Server 反代本地服务的这么一个操作,直接反代开启 HTTPS 就完事了 |
5 coolfan 342 天前 via Android frpc 的配置文件看,从公网访问的时候没有经过 nas 上的 Nginx 呀,直接就是 alist 的端口 |
6 shuiduoduo 342 天前 你是先请求 nginx nginx 请求 frps 然 frps 请求 frpc |
7 make115 342 天前 frpc 的 subdomain="immich" 呢,nas 上的 nginx 根本不需要 |