目前有腾讯云的一个轻量云服务器,已经注册好域名以及备案。家中有一台 nas ,部署了一些服务,其中一些服务是 https 的。
目前是想使用公网各种子域名来访问 NAS 的各种服务。云服务器只作为转发的跳板。尝试了 frp+nginx 的方案,会有 502 的错误,麻烦各位问一下这种情况一般什么解决方案最省心。
1
lower 308 天前 1
cf zero trust ?
|
2
longbow0 308 天前 1
zerotier+caddy?
|
3
xuyong3250 OP @lower 这种异地组网的方案可能只能自己用,不太方便给家里人用
|
4
xuyong3250 OP @longbow0 我看看 caddy 能不能和 frp 组合使用
|
5
jeesk 308 天前
要公网就 frp, 不要公网就 zerotier 之类的组网工具。
|
6
wangerka 308 天前 1
@xuyong3250 他说的应该是 cloudflared tunnel ,不是组网,是打洞,可以向外部公开 http 和 tcp 服务
|
8
blankmiss 308 天前
内网穿透就行了 这种问题 一年在 v2 能出现几十次 我也是服了
|
9
xuyong3250 OP @wangerka 好,我看看
|
10
xuyong3250 OP @wangerka 是我想要的服务了,可惜国内访问比较慢。
|
11
cnbatch 308 天前 2
还有个办法,家里的路由器用 OpenVPN 或 WireGuard 主动连接到服务器,然后配置好路由表(或者连接前在配置文件中事先写好),这样就不需要 frp 了。
然后还可以弄端口转发,这样连 Nginx 都可以省了。 |
12
moxuanyuan 308 天前 1
|
13
icaolei 308 天前 1
家里路由器开 IPv6 ,在 NAS 上用群晖自带的 Nginx 或者自己装一个 Nginx ( Docker 安装 Nginx ,需要用 host 网络),反代到服务上。在外面大部分情况下是有 IPv6 的,可以直连。
偶尔在没有 IPv6 的地方,可以分享手机热点,现在手机分享出来的热点也是有 IPv6 的,这样也是直连。 如果手机分享热线方式也不行,可以提前把云服务器的 IPv6 打开,并部署一个代理,如 V2Ray ,要访问 NAS 上服务的时候,可以让你的域名走这个代理。 |
14
feaul 308 天前
如果本地是 https 服务的话,直接用 frp 的 https 实现,如果本地是 http 的服务想反代成 https 服务 可以用 frp 的 https2http 来实现
|
15
xuyong3250 OP 研究了一下各位提供的方案,我决定组网去了=_=,几个常用的服务再配置一下端口转发。
|
16
xuyong3250 OP @feaul 是应该这样的,但是 nginx 那边报错 502 ,搜了半天没解决,不折腾了。
|
17
cpstar 308 天前 1
frp 不至于啊,云上用 frps ,家里 nas 跑 frpc ,把 nas 的端口映射到公网的 frps 上,然后 nginx 走 127.0.0.1 的 frps 映射出来的端口,不可能 502 的。
|
18
cpstar 308 天前
补 17# nginx proxy_pass 127.0.0.1:[frps_port]
|
19
feaul 308 天前
@xuyong3250 估计你配置有问题吧,我现在转发 https 和 https2http ,tcp 的都没问题。
|
20
xuyong3250 OP @feaul 可以分享一下 nginx 和 frpc 的配置么?我看看哪里配置错了
|
21
locoz 308 天前 1
告诉你个冷门但省事的办法:
如果你家里有公网 IP ,用腾讯云的 CDN ,设置回源地址为 DDNS 域名,指定自定义端口完事。 如果你家里没有公网 IP ,那就去搞一个,IPV4/IPV6 都可以,腾讯云 CDN 两种都支持。 |
22
xuyong3250 OP @locoz 租房,还是路由器套路由器,不然可以省心好多
|
23
feaul 308 天前 1
@xuyong3250 我的云服务我没有用 nginx ,直接用的 fpc ,实现了不同的子域名解析到不同的 nas 的不同服务,
|
24
xuyong3250 OP @feaul 好,我试试,那本地的 nas 需要做额外的配置么?比如把域名的证书上传到本地的 nas 里面?
|
25
feaul 308 天前 1
@xuyong3250 是的,要直接把证书放到本地的 NAS 里面,在 frpc 里面写配置,本地 http 的服务器,frp 代理成 https 的服务了
下面是官方的配置案例 [common] server_addr = x.x.x.x server_port = 7000 [test_htts2http] type = https custom_domains = test.yourdomain.com plugin = https2http plugin_local_addr = 127.0.0.1:80 # HTTPS 证书相关的配置 plugin_crt_path = ./test.yourdomain.com.crt plugin_key_path = ./test.yourdomain.com.key plugin_host_header_rewrite = 127.0.0.1 plugin_header_X-From-Where = frp 你可以详细的看看 frp 官方的配置 |
27
xuyong3250 OP @feaul 租房,不太好操作房东的网络
|
28
locoz 308 天前 1
@feaul #26 因为加端口访问无法简单直观地内外网通用,还增加了带端口的复杂度,而且带个端口看着就很怪,再加上有些软件是写死端口连接 / 不支持自定义端口 / 自定义端口会出奇葩问题的,深入用下来会发现带端口的问题很多。如果没问题,我以前也不会琢磨着用 VPN 来统一成无端口域名访问了: https://zhuanlan.zhihu.com/p/73529477
|
29
kwanzaa 308 天前 1
caddy + wg
|
30
shalingye 308 天前 via Android 1
frp 转发 http 即可,不需要 Nginx 。
|
31
IvanLi127 308 天前 via Android
caddy - xray --- xray - caddy 的路过
你的服务器和 nas 都在大陆吗?都在的话应该不至于动不动 502 |
32
xuanbg 308 天前
需要两次反代。云服务器反代到 NAS ,一般是统一转发到一个内部 80 映射出去的高端口,譬如 20080 -> 80 。NAS 上再监听 80 端口反代到服务。
|
33
totoro625 308 天前 via Android
腾讯云服务器如果不需要在 443 开其他服务,直接用 frp 接管 443 ,省去 nginx 的配置
我是用 tailscale 组网后,用的高位端口转发到 nas 放弃 443 |
34
anjingdexiaocai 308 天前 via Android
我没有用到啥 frp ,我只是在工作中接触到 netty ,就自己基于 netty 写了一个内网穿透服务。跟你一样也是腾讯云轻量服务器,申请了域名,备案了网站。至于子域名,端口啥的,直接在云服务器上使用下 nginx 就行。
|
35
Planehi 308 天前 via Android 1
nginx-proxy-manager
|
36
Achophiark 308 天前
同意楼上的,直接 nas-docker 部署个 npm 最简单吧。
|
37
LoveMyself546 308 天前
@locoz #21 有个疑问,腾讯云 CDN 大陆加速的回源地址是不是要备案域名才可以
|
38
locoz 308 天前
@LoveMyself546 #37 直接指定 IP 地址都可以的,用域名作为回源地址只是因为方便继续使用常规的 DDNS 工具
|
39
ungrown 308 天前
cpolar
cloudflare tunnel zerotier ... |
40
s4d 308 天前
我在用 Cloudflare tunnel ,把家里群晖上 Docker 项目都搞出来自用,不需要在主路由器上开放端口。
|
41
lovelylain 308 天前 via Android
frp+nginx 报 502 是你没折腾好,而不是这个方案有问题,再花点时间琢磨吧
|
42
qiaoyurensheng 307 天前
|
43
xuyong3250 OP 目前已实现 https->公网 nginx->http->frps http->frpc http ->nas 服务
|
44
ducks 307 天前
我反正没有碰到啥 502 错误,一直顺利
|
45
chenluo0429 307 天前 via Android
zerotier 这类组网才是正解啊,不是要求家人组网,nas 和你的轻量云组网后,已经直接网络互通,轻量云就可以直接反代到 nas 上了啊
|
46
idragonet 307 天前
腾讯云带宽太小,家里路由器做映射吧。
|
47
terencelau 307 天前 1
个人使用的方案是 WireGuard 组网然后 Nginx/Caddy
|
48
RyougiShiki 307 天前
用 nas 自带的 ddns ,简单稳定,然后自己域名 cname
|
50
since640 307 天前
tailscale + caddy 如果没有公网
我试过了, 就是流量都是走的服务器 |
51
zyq2280539 307 天前 1
tailscale 做内网穿透,然后包一层 nginx 就行了
|
52
xuyong3250 OP @ashuai 嗯,目前主要是有些本地的 https 服务不太好反代,其他的 http 的都能外网访问了。
|
53
hanbagui0021 305 天前
看了一遍居然没有推荐 `traefik` 的。目前 unraid nas 使用 traefik 使用很舒服,还可以配合 `Authelia` 增加授权认证。附上我找到的教程: https://docs.ibracorp.io/traefik/master/unraid
|
54
hafung 293 天前
|