如何使用公网域名+服务器反代 NAS 内网服务。

2023-07-28 22:11:05 +08:00
 xuyong3250

目前有腾讯云的一个轻量云服务器,已经注册好域名以及备案。家中有一台 nas ,部署了一些服务,其中一些服务是 https 的。

目前是想使用公网各种子域名来访问 NAS 的各种服务。云服务器只作为转发的跳板。尝试了 frp+nginx 的方案,会有 502 的错误,麻烦各位问一下这种情况一般什么解决方案最省心。

4366 次点击
所在节点    程序员
54 条回复
locoz
2023-07-28 23:29:08 +08:00
告诉你个冷门但省事的办法:
如果你家里有公网 IP ,用腾讯云的 CDN ,设置回源地址为 DDNS 域名,指定自定义端口完事。
如果你家里没有公网 IP ,那就去搞一个,IPV4/IPV6 都可以,腾讯云 CDN 两种都支持。
xuyong3250
2023-07-28 23:30:09 +08:00
@locoz 租房,还是路由器套路由器,不然可以省心好多
feaul
2023-07-28 23:31:39 +08:00
@xuyong3250 我的云服务我没有用 nginx ,直接用的 fpc ,实现了不同的子域名解析到不同的 nas 的不同服务,
xuyong3250
2023-07-28 23:33:16 +08:00
@feaul 好,我试试,那本地的 nas 需要做额外的配置么?比如把域名的证书上传到本地的 nas 里面?
feaul
2023-07-28 23:51:12 +08:00
@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 官方的配置
feaul
2023-07-28 23:56:10 +08:00
@locoz 家里有公网都不用 cdn 了,直接在家用路由器上配置 ddns 域名,路由器转发端口不就完事了吗?在外直接访问 ddns 域名加端口不好吗?
xuyong3250
2023-07-29 00:02:43 +08:00
@feaul 租房,不太好操作房东的网络
locoz
2023-07-29 00:15:45 +08:00
@feaul #26 因为加端口访问无法简单直观地内外网通用,还增加了带端口的复杂度,而且带个端口看着就很怪,再加上有些软件是写死端口连接 / 不支持自定义端口 / 自定义端口会出奇葩问题的,深入用下来会发现带端口的问题很多。如果没问题,我以前也不会琢磨着用 VPN 来统一成无端口域名访问了: https://zhuanlan.zhihu.com/p/73529477
kwanzaa
2023-07-29 00:31:28 +08:00
caddy + wg
shalingye
2023-07-29 00:31:43 +08:00
frp 转发 http 即可,不需要 Nginx 。
IvanLi127
2023-07-29 02:02:14 +08:00
caddy - xray --- xray - caddy 的路过

你的服务器和 nas 都在大陆吗?都在的话应该不至于动不动 502
xuanbg
2023-07-29 06:42:15 +08:00
需要两次反代。云服务器反代到 NAS ,一般是统一转发到一个内部 80 映射出去的高端口,譬如 20080 -> 80 。NAS 上再监听 80 端口反代到服务。
totoro625
2023-07-29 07:28:58 +08:00
腾讯云服务器如果不需要在 443 开其他服务,直接用 frp 接管 443 ,省去 nginx 的配置

我是用 tailscale 组网后,用的高位端口转发到 nas
放弃 443
anjingdexiaocai
2023-07-29 09:07:39 +08:00
我没有用到啥 frp ,我只是在工作中接触到 netty ,就自己基于 netty 写了一个内网穿透服务。跟你一样也是腾讯云轻量服务器,申请了域名,备案了网站。至于子域名,端口啥的,直接在云服务器上使用下 nginx 就行。
Planehi
2023-07-29 09:47:35 +08:00
nginx-proxy-manager
Achophiark
2023-07-29 10:11:57 +08:00
同意楼上的,直接 nas-docker 部署个 npm 最简单吧。
LoveMyself546
2023-07-29 10:28:34 +08:00
@locoz #21 有个疑问,腾讯云 CDN 大陆加速的回源地址是不是要备案域名才可以
locoz
2023-07-29 10:51:27 +08:00
@LoveMyself546 #37 直接指定 IP 地址都可以的,用域名作为回源地址只是因为方便继续使用常规的 DDNS 工具
ungrown
2023-07-29 11:10:05 +08:00
cpolar
cloudflare tunnel
zerotier
...
s4d
2023-07-29 12:57:30 +08:00
我在用 Cloudflare tunnel ,把家里群晖上 Docker 项目都搞出来自用,不需要在主路由器上开放端口。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960677

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX