前言
我家里是有公网IP的,家用宽带封80和443端口,一般来讲都是用DDNS+域名+端口访问,我个人是非常讨厌端口号的,比较麻烦,所以我通过frp内网穿透方式来达到隐藏端口号访问的目的。
这样做的好处是域名不用加端口直接访问家里的群辉nas,缺点就是所有流量都要经过云服务器,访问速度也是完全取决于访问到Frps所在的云服务器的速度,并且有个最大的弊端:就是 不管谁 在何处 访问群辉,群辉识别的来访IP都是群辉本身的局域网IP,这是frp的通病(下图这样)。
此情况下如果被恶意访问并输入错误密码10次以上,就会导致这个ip被锁拒绝访问,最终会造成所有人 包括我自己也不能在外网访问了,只能在局域网的环境下登录后台解锁此IP,经我多次修改配置文件测试,最终找到解决此问题的办法
记录一下解决过程~
解决办法
本人使用的是918+,按理来说其他群辉系统配置文件是一样的。
1.在frpc.ini中需要获取真实ip的配置段后面加上一行 proxy_protocol_version = v2
详细教程请回复查看,拒绝伸手党~
解决方案
http可以使用X-Forwarded-For来获取真实ip。https是加密数据,只能使用proxy protocol,根据这个思路,把header配置分别丢到server块中即可,实操:
1.删掉frpc.ini中http里的proxy_protocol_version = v2,https中的保留。
2.编辑/usr/syno/share/nginx/nginx.mustache,把图中的四个指令全部注释掉(加#)
#real_ip_header X-Forwarded-For;
#real_ip_header proxy_protocol;
#real_ip_recursive on;
#set_real_ip_from 192.168.31.0/24;
3.编辑/usr/syno/share/nginx/DSM.mustache,删除第一个server块中刚刚加的proxy_protocol,在下面增加
real_ip_header X-Forwarded-For;
real_ip_recursive on;
set_real_ip_from 192.168.31.0/24;
第四个server块中直接增加
real_ip_header proxy_protocol;
real_ip_recursive on;
set_real_ip_from 192.168.31.0/24;
感谢分享
感谢
感谢分享
感谢分享
学习了
感谢分享
大佬牛逼啊,学习
感谢分享
谢谢分享,学习一下
好奇看一下
谢谢分享,学习~表情
谢谢分享,学习~表情
尝试一下,是不是有坑
sb
尝试一下,是不是有坑
111111
cc
666
123
111
强啊!
111
cool!
111
1111
学习一下
学习下,感谢
感谢分享
学习一下
非常感谢,学到了!
谢谢分享,学习~
感谢老哥
xixix
谢谢
谢谢!
多谢
谢谢
点赞
谢谢
谢谢
感谢分享
感谢分享
这…
理工科
康康
顶~