这是我的方案:
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 15 小时 18 分钟前 via iPhone 1
有哪些可能,你这步 Nginx 是多余的呢🐶
|
2
yulgang 15 小时 13 分钟前 1
nas 上配置 nginx 那步应该是为了让内外网访问方式一致,又不用去外面绕一圈吧,估计还有个内网 dns 服务,内网解析域名时返回的是 nas 主机的 IP ,互联网上解析你的域名就是云服务器的 IP
|
3
jukanntenn OP |
4
huaxianyan 14 小时 34 分钟前 2
Nginx 这步不需要啊,你用 Frp 转发就相当于把 NAS 上的东西变成云服务器上的一个本地服务,要做一个使用 Web Server 反代本地服务的这么一个操作,直接反代开启 HTTPS 就完事了
|
5
coolfan 12 小时 32 分钟前 via Android
frpc 的配置文件看,从公网访问的时候没有经过 nas 上的 Nginx 呀,直接就是 alist 的端口👀
|
6
wanwusangzhi 4 小时 45 分钟前
你是先请求 nginx nginx 请求 frps 然 frps 请求 frpc
|
7
make115 4 小时 1 分钟前
frpc 的 subdomain="immich" 呢,nas 上的 nginx 根本不需要
|