预防因暴露 WEB 服务封宽带的方案之一

2019-11-29 20:34:44 +08:00
 samondlee

综述:还是 VPS FRP

起因:最近看了好多因 WEB 服务封家宽的帖子,虽然没有在上海深圳,但鉴于 LZ 目前所处地区开公网要向省级公司走流程,并且师傅说明了 开了公网就是要被监控的,且最近刚入了 PT 坑流量有些大,还是很担心的。

常见问题:

1.为什么有 VPS 还用 FRP 架在本地:——数据还是放在自己这里放心

2.速度怎么样:——虽然不如直连的好,但总体控制在 160ms 以下;需要走 IPV4 HTTP 上下传的时候再打开映射即可; IPV4 非 HTTP 端口映射仍然保留不受影响(如 PT、Teamspeak3 Server );且 IPV6 映射没有删除,可选移动、电信 IPV6 出口。

3.优点:——去掉了域名+端口这个累赘

4.缺点——看不到访客 IP,凑合用吧,谁有方法可以贴出来。

方法:

本地通过 NGINX 反代统一为一个端口(如 8889 ),用 FRPC TCP 映射出去(如本地 8889 远程 8889 );

再到远程 VPS NGINX 新建一个 VHOST 把所有的域名都输入进去,该 VHOST 反代本 VPS 上的 FRPS 非 80 端口的 TCP 端口(如 127.0.0.1:8889 )。

通过域名访问相应 web 服务,这样以后如果再增加服务的话,只需要在两端的 NGINX 增加绑定相应域名即可。

暂时没有考虑 HTTPS,第一个不会,第二个还用不到。

网络结构图

参考 NGINX 配置

server
{
    listen 80;
    listen [::]:80;
    server_name 域名 1  域名 2 域名 3 域名 4 域名 5 域名 6;
       location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:VHOST 端口 /;
    }
	access_log off;
}
7176 次点击
所在节点    宽带症候群
29 条回复
111111111111
2019-11-29 20:52:44 +08:00
Vps 的 nginx 获取访客 ip,并写入请求头
本地的 Ngin 别修改这个请求头,后端服务就获得访客 IP 了
e8AsCM
2019-11-29 20:54:05 +08:00
这样挺安全,不过如果有复制文件等大带宽需求的话,VPS 那边的费用就有点高了。目前我是开了两三个 SSH 端口用于管理,和一个代理端口用于连回家里内网,没有开跑着网页的端口,不知道安不安全……
samondlee
2019-11-29 20:58:24 +08:00
@111111111111 emmm 就是本地的 nginx 把这行去掉吗 proxy_set_header X-Real-IP $remote_addr;


@e8AsCM 嗯 非 HTTP 的 TCP 映射都留着比如 SSH\RDP
laoyur
2019-11-29 21:42:54 +08:00
方案二:
主动要求改成内网 IP,然后在外面通过 zerotier 访问内网。
samondlee
2019-11-29 22:00:28 +08:00
@laoyur 2333 内网挂不了 PT 啦 而且写个博客啥的有人看 让别人装 zerotier 也不大方便
zlkent
2019-11-29 22:07:19 +08:00
一个 VPN 回来就完事了,何必整这么麻烦?
txydhr
2019-11-29 23:08:46 +08:00
海外 vps 有访问速度问题,国内 vps 有流量费用问题。目前流量大的话(比如要备份照片视频这种),除了 web 直连,只能用 vpn。现在群晖全套 app 都是基于 web,除非群晖针对国内情况整个换协议。
AoTmmy
2019-11-30 01:40:58 +08:00
@samondlee PT 必须公网 ip ?内网也可以吧,而且有 vps 了直接吧博客挂上不更省事🙃
zhucegeqiu
2019-11-30 06:52:14 +08:00
国内云服务器要么带宽小,要么流量贵
我家 30M 上传带宽,基本不可能用 frp 达到同样的体验
tia
2019-11-30 10:04:31 +08:00
@AoTmmy #8 内网没上传
stille
2019-11-30 10:08:06 +08:00
之前测试过阿里云 30m 穿透家里 200 下 30 上,群晖差不多能跑满,就是流量太贵用不起,后来换了腾讯云 5m 的 vps,穿透 web 端够用了,大文件传输临时开 webdav 端口,现在还没太好的方案用 drive 和 moments 同步文件和照片
WEBUG
2019-11-30 11:19:35 +08:00
想问下,家里开酸酸乳之类的,frp 去连接,在国外用来回国,会被封吗,通过 frp 连接的东西能看出链接协议吗
terax
2019-11-30 11:48:17 +08:00
https 的话可以用 lets encrypt,只需要在 vps 的 nginx 配一下就好了,用 certbot 很方便的
NSAgold
2019-11-30 12:43:55 +08:00
160ms 的话为啥不选择上 CF 嘞
设置仅允许 CF 回源,其他 IP 访问 http 端口直接丢弃
cdlnls
2019-11-30 13:47:22 +08:00
就没有用 ssh 隧道的嘛
lalalakakaka
2019-11-30 14:34:05 +08:00
学习了~话说这个示意图画的挺不错的。请教下是用什么软件画的呢?
e8AsCM
2019-11-30 17:33:44 +08:00
@txydhr 针对群晖 App 的话直接挂全局代理连回家里内网就行了
SuzutsukiKaede
2019-11-30 18:37:25 +08:00
我也用的这个方案,握手。
justs0o
2019-11-30 20:38:41 +08:00
@NSAgold 回源能逃过分光镜像 DPI ?
samondlee
2019-12-01 01:13:09 +08:00
@WEBUG FRPC 本地并没有开 tcp 端口,所以不影响
@terax 带来带去的头晕了 233
@NSAgold CF 针对国内 IP 源端口只允许 443 80,国内家宽默认是封了的
@lalalakakaka 亿图图示
@SuzutsukiKaede 哈哈你这个 ID 有点儿像之前玩战地 1 碰到的人

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

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

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

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

© 2021 V2EX