被坑前奏:
本站点,在前两天更换了主题。更换了之后大家的会员都出现了问题,然后就一起登录充值会员,玩玩没想到啊,我的1核心的vps服务器就这么罢工了,无奈只能通过Frp穿透到家里,用家里的EPYC的nas来给网站提供资源了,但是和Traefik用Frp一样,会出现问题不显示目标客户的真实ip,这个是很头疼的问题,所以今天来解决下。
教程:
Frp部分配置:
这里我们需要用到Frp的一个功能 roxy_protocol 原理如图:
emmmm是不是都看不懂,看不懂就tm对了我也看不懂,反正能用就行了。
我们在已经有的Frp的穿透配置上增加roxy_protocol的内容
[traefik_http] type = tcp local_ip = 192.168.1.3 local_port = 80 remote_port = 80 proxy_protocol_version = v2 use_encryption = true use_compression = true [traefik_https] type = tcp local_ip = 192.168.1.3 local_port = 443 remote_port = 443 proxy_protocol_version = v2 use_encryption = true use_compression = true
roxy_protocol 有两个版本,这里我用的是V2(主要是官方文档我就看到了v2的配置示例),配置完成后,重启frpc,重启后是无法正常访问的,我们还需要进行宝塔的配置。
BT面板配置:
listen 80 proxy_protocol; listen 443 ssl http2 proxy_protocol; real_ip_header proxy_protocol; real_ip_recursive on; set_real_ip_from 192.168.1.54;
这里需要注意,192.168.1.54 需要更换为,你服务器的本级ip地址,写入宝塔的效果图如下
测试:
配置完成后,用浏览器访问一下页面,然后看一下服务器的响应日志看到ip不再是内网的,就表明真实ip已经传输过来了。
总结:
我研究了许久,百度上都是在远程服务器上搭建个nginx,在穿透,通过http协议反响代理到内网,这种方式的,本人表示不喜欢,所以搞了个这!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
请登录后查看评论内容